Hallo,
ich möchte gerne im TStringGrid einen horizontalen proportionalen Scollbar einfügen. Das bedeutet, dass der Schieber klein ist, falls viele Einträge zum Scrollen da sind und der Schieber groß ist, falls es nur wenige Einträge sind.
Ausgehend von einigen Delphi-Hilfeseite (z.B. http://www.swissdelphicenter.ch/en/showcode.php?id=1052) habe ich momentan folgenden Code:
procedure TForm1.Button1Click(Sender: TObject);
var
info: TScrollInfo;
begin
FillChar(info, SizeOf(info), 0);
with info do
begin
cbsize := SizeOf(info);
fmask := SIF\_ALL;
GetScrollInfo(StringGrid1.Handle, SB\_HORZ, info);
fmask := fmask or SIF\_PAGE;
nmin := 1;
nmax := StringGrid1.ColCount \* 126;
nPage := 5 \* (nmax - nmin) div StringGrid1.ColCount;
// whatever number of cells you consider a "page"
end;
SetScrollInfo(StringGrid1.Handle, SB\_VERT, info, True);
end;
Das Problem ist, dass sich der Scrollbar nicht bis zum Ende ziehen lässt.
Welche Werte sind für nmin , nmax und nPage anzugeben, damit es genau hinkommt?
Laut Windows-API handelt es sich ja um inch-Werte, ich bin allerdings noch nicht auf den grünen Zweig gekommen und über jede Hilfe sehr dankbar.
Viele Grüße
Peter