Delphi-PRAXiS
Seite 2 von 2     12   

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 Botschaft bei Aktivieren eines Fensters (https://www.delphipraxis.net/130251-botschaft-bei-aktivieren-eines-fensters.html)

oki 5. Mär 2009 14:43

Re: Botschaft bei Aktivieren eines Fensters
 
Noch mal zum Geraderücken. Ich hatte Bernhards Beitrag so verstanden, dass ich eine eigene Botschaft implementiere. Auf den Gedanken vorhandene Ereignisse zu verwenden hätte ich eigentlich kommen müssen. Aber manchmal hat man es eben schwer. :mrgreen:

Gruß oki

jaenicke 5. Mär 2009 14:55

Re: Botschaft bei Aktivieren eines Fensters
 
Ach jetzt verstehe ich das erst. :wink:

Damit sollten für spätere Leser des Threads dann auch alle Klarheiten restlos beseitigt sein. :mrgreen:

dataspider 5. Mär 2009 15:45

Re: Botschaft bei Aktivieren eines Fensters
 
Hi,

was spricht gegen Screen.OnActiveFormChange?

Gruß, Frank

jaenicke 5. Mär 2009 15:48

Re: Botschaft bei Aktivieren eines Fensters
 
Diese am Anfang genannte Anforderung:
Zitat:

Zitat von oki
jetzt möchte ich, dass beim Aktivieren eines der Fenster mein MainForm automatisch mitbekommt, welches Fenster gerade deaktiviert und welches aktiviert wurde.

Das geht nur mit OnActivate und OnDeactivate.

oki 5. Mär 2009 15:49

Re: Botschaft bei Aktivieren eines Fensters
 
Hi Dataspider,

wird das Ereignis von allen Formularen ausgelöst oder nur von den TopLevel-Formularen? Ich teste das mal.

Gruß oki

oki 5. Mär 2009 15:52

Re: Botschaft bei Aktivieren eines Fensters
 
Das sagt die Hilfe zu OnActiveFormChange:
Zitat:

In einer Ereignisbehandlungsroutine für OnActiveFormChange können Sie eine Aktion festlegen, die ausgeführt werden soll, wenn ein neues Formular aktiviert wird. OnActiveFormChange tritt ein, wenn sich das aktive Formular einer Anwendung ändert, jedoch nicht, wenn ein Formular aktiv wird, weil die Anwendung aktiviert wurde.
Hört sich nicht so gut an.

grup oki

dataspider 5. Mär 2009 16:06

Re: Botschaft bei Aktivieren eines Fensters
 
Ja, aber es wird IMHO sehr wohl ausgelöst, wenn die Anwendung durch Klick auf ein Form (welches vorher nicht das aktive war) aktiviert wird.

Cu, Frank

oki 5. Mär 2009 16:09

Re: Botschaft bei Aktivieren eines Fensters
 
Auch ohne Click? Z.B. wenn es per Code creiert und mit Show angezeigt wird?

Gruß

dataspider 5. Mär 2009 16:30

Re: Botschaft bei Aktivieren eines Fensters
 
Zitat:

Zitat von oki
Auch ohne Click? Z.B. wenn es per Code creiert und mit Show angezeigt wird?

Delphi-Quellcode:
procedure TForm2.ActiveFormChange(Sender: TObject);
begin
  MessageDlg(Screen.ActiveForm.ClassName, mtInformation, [mbOK], 0);
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  Screen.OnActiveFormChange := ActiveFormChange;
  with TForm5.Create(Application) do
    Show;
end;
Zumindest wird hier das Ereignis ausgelöst und die MessageBox zeigt mir TForm5 an.

Cu, Frank

oki 5. Mär 2009 16:32

Re: Botschaft bei Aktivieren eines Fensters
 
Hi Dataspider,

dann ist das auch ein gangbarer Weg und man kann die Ereignisse frei lassen. Dank für die Mühe.

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:04 Uhr.
Seite 2 von 2     12   

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