Ich würde dem Benutzer gerne die Möglichkeit geben, die Fensterhöhe (jedoch nicht die Fensterbreite!) selbst zu bestimmen, wobei ein Minimum und ein Maximum definiert sein sollen.
Ich habe BorderSize auf bsSizeable gesetzt und muss jetzt noch verhindern, dass die Fensterhöhe beim Ziehen der Ränder kleiner als 300 und größer als 600 Pixel wird. Die Breite soll nicht veränderbar sein!
Ich habe das jetzt mal so angefangen:
Delphi-Quellcode:
procedure WMSIZING(var Msg: TMessage); Message WM_SIZING;
procedure TForm.WMSIZING(var Msg: TMessage);
begin
if Msg.Msg = WM_SIZING then
begin
case Msg.WParam of
WMSZ_BOTTOM, WMSZ_TOP:
begin
if Height > 600 then
Height := 600
else if Height < 300 then
Height := 300;
end;
end;
end;
end;
Das funktioniert aber nur sehr unzufriedenstellend. Die Fenstergröße springt beim Ziehen immer hin und her.
Ich glaube, da muss ein anderer Ansatz her, habe aber leider keine bessere Möglichkeit gefunden. Weiß jemand Rat?