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/)
-   -   LostFocus/NoMoreActive Event? (https://www.delphipraxis.net/172170-lostfocus-nomoreactive-event.html)

ConnorMcLeod 17. Dez 2012 11:18

LostFocus/NoMoreActive Event?
 
Hallo Gemeinde,

eine von TPanel abgeleitete Komponente liegt auf einer TForm. Nun wird eine andere TForm aktiviert. Wie kann meine Kompo davon erfahren, dass ihr Fenster nicht mehr das aktive Fenster ist?

Wie immer danke für alle Ideen...

Uwe Raabe 17. Dez 2012 11:25

AW: LostFocus/NoMoreActive Event?
 
Was spricht gegen
Delphi-Quellcode:
TForm.OnDeactivate
?

ConnorMcLeod 17. Dez 2012 12:29

AW: LostFocus/NoMoreActive Event?
 
Dagegen spricht, dass ich für diese Lösung eine Form brauche, die mich benachrichtigt.
Die Kompo soll es von sich aus machen - ohne Hilfe von aussen.

Uwe Raabe 17. Dez 2012 12:40

AW: LostFocus/NoMoreActive Event?
 
Zitat:

Zitat von ConnorMcLeod (Beitrag 1195757)
Dagegen spricht, dass ich für diese Lösung eine Form brauche, die mich benachrichtigt.
Die Kompo soll es von sich aus machen - ohne Hilfe von aussen.

Die Eigenschaft aktiv zu sein gehört aber nunmal zum Form. Somit bist du in jedem Fall darauf angewiesen, daß dich das Form benachrichtigt. Der entsprechende Event ist eben OnDeactivate.

Du kannst die Komponente ja so schreiben, daß sie sich in diesen Event des Forms einhängt, sobald sie auf dem Form platziert wird, und darauf hoffen, daß niemand diesen Event für etwas anderes verwendet.

ConnorMcLeod 17. Dez 2012 12:45

AW: LostFocus/NoMoreActive Event?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1195760)
und darauf hoffen, daß niemand diesen Event für etwas anderes verwendet.

Unter anderem deswegen ist dieser Weg ein nogo. Sonst wäre die Lösung ja auch zu einfach ;-)

Sir Rufo 17. Dez 2012 16:47

AW: LostFocus/NoMoreActive Event?
 
Dann bleibt ja wohl nur noch ein Idle Thread, der überprüft, ob der Parent (bis runter auf die Form) aktiviert ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.

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 by Thomas Breitkreuz