Einzelnen Beitrag anzeigen

Keks

Registriert seit: 25. Mai 2005
122 Beiträge
 
#1

Änderung der Fenstergröße begrenzen

  Alt 13. Mär 2010, 23:01
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?
  Mit Zitat antworten Zitat