Autor Beitrag
Hagbard Celine
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 119



BeitragVerfasst: Di 16.07.02 12:54 
Ich möchte die Größe meiner Form beschränken!

Zu diesem Zweck habe ich folgenden Code in das onResize-Event der Form geschrieben!

ausblenden Quelltext
1:
2:
if width < 580 then width := 580;
if height < 270 then height := 270;


Leider hat das den kleinen Nebeneffekt das die Darstellung flimmert, da das System erst verkleinert und dann meine Korrektur übernimmt!

Gibt es eine Möglichkeit das Event vor dem verkleinern abzufangen und nur dann eine Änderung vorzunehmen wenn der neue Wert im Rahmen liegt! Es schein ja als würde er das Event für jeden "Pixel" den sich die Form ändert aufrufen!
wwerner
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 185



BeitragVerfasst: Di 16.07.02 13:38 
In den interfaceteil deiner Form

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
TfrmMain = class(TForm)
  ......
  private
    procedure wmGetMinMaxInfo(var Msg : TMessage); Message wm_GetMinMaxInfo;
.....

procedure TfrmMain.wmGetMinMaxInfo(var Msg : TMessage); {begenzt die erlaubte Formulargröße}

begin
  PMinMaxInfo(Msg.lParam)^.ptMinTrackSize := Point(640 ,480);
  PMinMaxInfo(Msg.lParam)^.ptMaxTrackSize := Point(1024,768);
end;
Hagbard Celine Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 119



BeitragVerfasst: Di 16.07.02 13:49 
wwerner hat folgendes geschrieben:
In den interfaceteil deiner Form

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
TfrmMain = class(TForm)
  ......
  private
    procedure wmGetMinMaxInfo(var Msg : TMessage); Message wm_GetMinMaxInfo;
.....

procedure TfrmMain.wmGetMinMaxInfo(var Msg : TMessage); {begenzt die erlaubte Formulargröße}

begin
  PMinMaxInfo(Msg.lParam)^.ptMinTrackSize := Point(640 ,480);
  PMinMaxInfo(Msg.lParam)^.ptMaxTrackSize := Point(1024,768);
end;


Ist das eine Erweiterung der bestehenden Form oder ist der Code schon enthalten?

Kann ich das zur Laufzeit ändern? Oder wenn ich eine Form erzeuge?
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 16.07.02 14:14 
Welche Delphi-Version benutzt Du? Ich habe Delphi 5 und da gibt es bei den Forms die Eigenschaft Constraints. Schau Dir die Unter-Eigenschaften mal an. Die sollten helfen.

Diese Eigenschaft ist glaube ich aber Delphi 4 oder 5 vorhanden!

Gruß
Hagbard Celine Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 119



BeitragVerfasst: Di 16.07.02 14:23 
Tino hat folgendes geschrieben:
Welche Delphi-Version benutzt Du? Ich habe Delphi 5 und da gibt es bei den Forms die Eigenschaft Constraints. Schau Dir die Unter-Eigenschaften mal an. Die sollten helfen.

Diese Eigenschaft ist glaube ich aber Delphi 4 oder 5 vorhanden!

Gruß

Habe Delphi 6!

Und ja! Vorhanden!
Manchmal ist man so blind das man den Wald vor lauter Bäumen nicht sieht!

Danke!
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Di 16.07.02 14:52 
du kannst die form auch einfach "Single" machen und nicht "Resizeable"
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 16.07.02 14:55 
Aber dann kann man das Fenster ja nicht mehr in seiner Größe ändern!