Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Event bei Minimierung/Maximierung einer Form
O'rallY - Do 29.08.02 15:52
Titel: Event bei Minimierung/Maximierung einer Form
Ich habe drei Fragen zu dem Thema:
1. Wieso hat eine Form kein Event das beim Minimieren und beim Maximieren eintritt? Oder gibt es sie und ich hab sie einfach "übersehen"?
2. Wie kann man feststellen, ob eine Form minimiert oder maximiert ist?
3. Wie bringt man die Form dazu sich zu minimieren bzw. zu maximieren, ohne das der Anwender etwas tut?
ao - Do 29.08.02 16:04
Hallo O'rallY
Also 2. und 3. kannst du mit der Eigenschaft WindowState eines Forms lösen, die kannst du abfragen und auch setzen.
Zu 1. fällt mir nur OnResize ein, das wird aber leider, glaube ich, nicht beim minimieren aufgerufen.
Gruß
Andreas
Arakis - Do 29.08.02 16:05
Hi O'rallY

,
der Event liegt im Application-Objekt :P
Versuch es mal mit folgendem Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, URLMon;
type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } procedure mini(Sender: TObject); public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.mini(Sender: TObject); begin showmessage('Hilfe, ich werde minnimiert!!!') end;
procedure TForm1.FormCreate(Sender: TObject); begin application.OnMinimize := mini; end;
end. |
Ob Minimiert, Maximiert oder Normal kannst du mit TForm.WindowsState abfragen.
Den Fensterstatus ändert man per Programm so:
Quelltext
1: 2: 3:
| application.Minimize; application.Restore; //Maximieren weiss ich gerade nicht. |
Ich hoffe geholfen zu haben :wink:
Bis dann
O'rallY - Do 29.08.02 16:22
Ersteinmal danke.
Doch der Code (@Arakis) hat bei mir nur zur Folge, das wenn ich die Form minimiere und dann in der Taskleise anklicke die procedure mini aufgerufen wird.
der Rest hat einwandfrei genfunzt :wink:
Arakis - Do 29.08.02 16:24
Falsch! :D
Du siehst die MessageBox ja erst dann, wenn du es wiederherstellst. Es wird also schon angezeigt, wenn es minnimiert ist, du siehst sie halt nur nicht :wink:
Bis dann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!