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 Ein OnAfterCreate Event für die eigene Komponente (https://www.delphipraxis.net/94215-ein-onaftercreate-event-fuer-die-eigene-komponente.html)

SirThornberry 18. Jun 2007 20:37

Re: Ein OnAfterCreate Event für die eigene Komponente
 
dein TCustomControl bekommt in aller Regel erst mit Zuweisung eines Parents das Handle

Meflin 18. Jun 2007 20:40

Re: Ein OnAfterCreate Event für die eigene Komponente
 
Zitat:

Zitat von SirThornberry
dein TCustomControl bekommt in aller Regel erst mit Zuweisung eines Parents das Handle

Ich werde jetzt erstmal ausloten ob das OnAfterConstruction für meine Zwecke dienlich ist. Sollte das der Fall sein werde ich mir dieses PostMessage rumgefriemel sparen. wenn nicht werde ich mich dann mal nach einer anderen Lösung umsehen müssen.

Aber das Setzen des Parents abzufangen dürfte ja kein Problem darstellen.


SirThornberry 18. Jun 2007 20:43

Re: Ein OnAfterCreate Event für die eigene Komponente
 
willst du den Moment haben wo dein Fenster das Handle hat. Nur das setzen des Parents abfangen bringt dir da nichts weil ja der parent evenutell noch kein Parent hat. Sinnvoll wäre es also CreateWnd zu überschreiben.
Delphi-Quellcode:
begin
  inherited; //Fenster hat jetzt ein Handle
  //jetzt irgendwas machen was das Handle vorraus setzt
end;

Meflin 18. Jun 2007 20:47

Re: Ein OnAfterCreate Event für die eigene Komponente
 
Alles klar - und nochmal dankeschön


Muetze1 18. Jun 2007 23:44

Re: Ein OnAfterCreate Event für die eigene Komponente
 
Aber beachte, das diese Methode mehrfach aufgerufen werden kann. Unter anderem bei der - leider - beliebten Unart den FormStyle zur Laufzeit zu ändern. Damit wird dann auch (wie auch bei anderen Eigenschaftsänderungen) das Fenster zerstört und erneut angelegt. Aber mit dem CreateWnd hast du immer ein gültiges und aktuelles Handle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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