Zitat von
berens:
Nun bleibt nur noch die Frage, ob es nicht doch irgendwie möglich ist, "Range" automatisch neu berechnen zu lassen. Weil ich wollte jetzt nicht immer alle Komponenten per Hand durchzählen um dem "untersten" Punkt zu ermitteln, der dann (abzüglich öhm. Scrollbox.Height (?)) die Range ist...
...in einer jeden solchen Situation wäre dann aber immer wieder nur ein Aufruf von z.B. folgender Procedure nötig:
Delphi-Quellcode:
procedure getScrollBoxRange(AScrollBox : TScrollBox);
var I, RangeMin : integer;
begin
RangeMin := AScrollBox.ClientHeight;
with AScrollBox do
for I := 0 to ControlCount-1 do
if (Controls[I] is TWinControl) then
with Controls[I] as TWinControl do
if Top + Height > RangeMin then
RangeMin := Top + Height;
AScrollBox.VertScrollBar.Range := RangeMin +10; // +10 = SpacePuffer
end;
edit: Schönheitskorrektur im Code