Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form2.OnHide ? (https://www.delphipraxis.net/115005-form2-onhide.html)

Delphiturbo 4. Jun 2008 10:53


Form2.OnHide ?
 
Hallo
Form1 ist die MainFom. Ich möchte wenn ich Form2 schließe (d.h. Ausblenden), soll Form1 verschoben werden.

Ich habe diesen Tel in Event Onhide und auch in Onsedtroy angelegt aber passiert nicht:
Delphi-Quellcode:
procedure TForm2.FormHide(Sender: TObject);
begin
Form1.Left:=5;
Form1.top:=5;

DP-Maintenance 4. Jun 2008 11:38

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Multimedia" nach "VCL / WinForms / Controls" verschoben.
Was hat die Frage mit Multimedia zu tun? Achte bitte genauer auf die Beschreibung der einzelnen Sparten!

rollstuhlfahrer 4. Jun 2008 14:19

Re: Form2.OnHide ?
 
Zitat:

Zitat von Delphiturbo
Hallo
Form1 ist die MainFom. Ich möchte wenn ich Form2 schließe (d.h. Ausblenden), soll Form1 verschoben werden.

Was heißt Ausblenden?? Schließen über Close und das nette X bewirken, dass onHide, onCloseQuery, onClose (und evt. noch onDestroy) aufgerufen werden. Für mein Beispiel wurde Form1 als Mainform geöffnet. Dort gabs einen Button, der Form2 öffnet. SChließt man Form2, dann wird Form1 bewegt. Bei mir wurde im OnHide dir Form1 auf auf .Top = 0 gesetzt und im OnClose die Form auf .Left = 0 gesetzt. Da eine sichtbare auswirkung in beide richtungen zu vernehmen war, steht fest, dass beide Events aufgelöst wurden.

rollstuhlfahrer

EDIT: onDestroy wird erst aufgerufen, wenn die Form aus dem Speicher gelöscht wird (nicht beim Klick auf X). Man kann sie mit .Show a ganz einfach wieder anzeigen lassen

Delphiturbo 4. Jun 2008 14:52

Re: Form2.OnHide ?
 
Bei mir so gemacht, passiert aber nicht !
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
//Application.ProcessMessages;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Left:=0;
end;

Phoenix 4. Jun 2008 14:55

Re: Form2.OnHide ?
 
Hast Du schonmal einen Breakpoint gesetzt und debuggt ob er da wirklich durch kommt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz