![]() |
StringGrid: Breite der vertikalen Scrollbar ermitteln
Hallo,
gibt es die Möglichkeit die Breite der vertikalen Scrollbar eines StringGrid zu ermitteln? Ich hatte gehofft, dass sich ClientWidth dadurch ändert, aber leider bleibt der Wert mit/ohne Scrollbar gleich Was will ich eigentlich tun? (für manche eine schwierige Frage) Wenn die vertikale Scrollbar sichtbar ist, dann möchte ich die Breiten der Spalten des StringGrids reduzieren. Ob eine Scrollbar sichtbar ist, mach ich mit diesem Code:
Delphi-Quellcode:
(gefunden bei den
if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 then
ShowMessage('Vertical scrollbar is visible!'); if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_HSCROLL) <> 0 then ShowMessage('Horizontal scrollbar is visible!'); ![]() |
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Schau Dir mal TGridDrawInfo an; vllt ersparst Du Dir dann das Gefummel mit den Scrollbars.
Besonders TGridDrawInfo.Horz.LastFullVisibleCell u dgl ... |
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Versuch es mal mit
![]() Zitat:
|
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Zitat:
hab aber bei den Schweizern noch einen Code für die Breite/Höhe gefunden ![]() |
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Viele Wege führen zum Kompilat.
Was mich bei der Scrollbar-Überlegung stört ist, daß die Scrollbars nicht Teil des Problems sind, sondern nur ein Symptom. Das Problem ist ein zu breites Grid, das angepaßt werden muß. Wenn aus diversen Gründen grundsätzlich keine Scrollbars angezeigt würden (Optionen verändert etc.), dann hättest Du keine Scrollbars, aber das Grid wäre immer noch zu breit. Über die GridDrawInfo und LeftCol weißt Du alles, was Du wissen mußt:
Delphi-Quellcode:
var
DrawInfo: TGridDrawInfo; begin grdDemo.CalcDrawInfo(DrawInfo); |
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Zitat:
|
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Ich habe D2010, da heißt es in Grids.pas / Zeile 2465:
Delphi-Quellcode:
procedure TCustomGrid.CalcDrawInfo(var DrawInfo: TGridDrawInfo);
|
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
in XE2 ist CalcDrawInfo protected
|
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Naja, da kommt man ja noch drum herum.
|
AW: StringGrid: Breite der vertikalen Scrollbar ermitteln
Zitat:
(habs ned so mit knacken :-) ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz