Entwickler-Ecke

Windows API - WMResize für horiz resizen abfangen


Tweafis - Di 03.06.03 12:10
Titel: WMResize für horiz resizen abfangen
Ich möchte das man meine Form nicht "nach unten aufziehen kann" dies kann ich zwar durch OnResize -> Form1.ClientHeight := ... machen aber dann flimmert es extrem.

Man müsste halt WMResize abfangen und falls das horizontal ist einfach killen, aber wie geht das?


Delete - Di 03.06.03 12:12

Kuck die mal die Eigenschaft Constrains von deinem Formular an, dann brauchst du diese Klimmzuege nicht.


Tweafis - Di 03.06.03 12:16

Da kann ich aber nur die Maximale höhe einstellen und die hängt ja auch von Titlebar und so mit ab. afair ist das von Theme zu Theme und von Windows zu Windows anders...


Delete - Di 03.06.03 12:26

Das Formular ist 329 Pixel hoch>

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormResize(Sender: TObject);
begin
  if Height > 329 then Height := 329;
end;

Jetzt man es zwar groesser ziehen, aber es springt immer wieder zurueck. Waere das azeptabel?


Motzi - Di 03.06.03 12:28

Mit der Eigenschaft Constraits hab ich schon so meine Erfahrungen gemacht... :evil: Deswegen mach ich sowas jetzt immer über WM_GETMINMAXINFO...


Tweafis - Di 03.06.03 12:30

Luckie hat folgendes geschrieben:
Das Formular ist 329 Pixel hoch>

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormResize(Sender: TObject);
begin
  if Height > 329 then Height := 329;
end;

Jetzt man es zwar groesser ziehen, aber es springt immer wieder zurueck. Waere das azeptabel?


Tweafis hat folgendes geschrieben:
Ich möchte das man meine Form nicht "nach unten aufziehen kann" dies kann ich zwar durch OnResize -> Form1.ClientHeight := ... machen aber dann flimmert es extrem.


Mir geht es ja darum, dass das Formular wenn man mit Height arbeitet immer anders ist oder ? Die Titelleistenhöhe ist ja je nach Theme anders...

@Motzi was meinst du damit?


Tana´Ri - Do 05.06.03 13:16

try this event

property OnConstrainedResize: TConstrainedResizeEvent;

type TConstrainedResizeEvent = procedure(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer) of object;


Beschreibung

Sender ist das Objekt, dessen Größe verändert wird.

MinWidth liefert die minimale Breite, bis zu der das Objekt verkleinert werden kann.

MinHeight liefert die minimale Höhe, bis zu der das Objekt verkleinert werden kann.

MaxWidth liefert die maximale Breite, bis zu der das Objekt vergrößert werden kann.

MaxHeight liefert die maximale Höhe, bis zu der das Objekt vergrößert werden kann.