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 FindWindowEx findet Handle nicht (https://www.delphipraxis.net/84115-findwindowex-findet-handle-nicht.html)

s-off 11. Jan 2007 14:32


FindWindowEx findet Handle nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

habe gerade ein kleines Problem, welches sich darin äußert, dass die Funktion FindWindowEx das Handle eines Panels nicht findet, welches auf meiner Mainform liegt(Struktur siehe Anhang).

Hier der Code:

Delphi-Quellcode:
   FFormHandle := FindWindow('TfrmMain', 'frmMain'); => FFormHandle wird gefunden
   If FFormHandle > 0 Then
      FPanelHandle := FindWindowEx(FFormHandle, 0, 'TPanel', 'oPanel1')
   Else Exit;

   If FPanelHandle > 0 Then //FPanelHandle ist 0 -> wieso?
   [...]
Also laut Delphi IDE und auch laut StrukturAbbild (WinSpy) liegt das Objekt oPanel1 der Klasse TPanel ganz eindeutig auf meiner Mainform frmMain - aber wieso findet er das Handle nicht?

s-off 11. Jan 2007 14:46

Re: FindWindowEx findet Handle nicht
 
Ok, Frage hat sich erübrigt - das Panel war zum Zeitpunkt des Funktionsaufrufes noch gar nicht erzeugt... :wall:

sirius 11. Jan 2007 14:47

Re: FindWindowEx findet Handle nicht
 
(Auch wenn es sich grad (während ich schrieb) erledigt hat, wollt ich noch was anhängen, but never touch....you know)

Sieht das Abbild von WinSpector immer genauso aus? Sobald Das Panel nicht mehr an erster Stelle steht funktioniert es so nicht mehr, dann musst du mehrmals FindwindowEx aufrufen.

Ich hab auch immer Probleme meine Window-Handles zu suchen. Ich wollte dir schon im letzten Thread was sagen. Aber in der Sache bin ich mir auch nicht sicher.

Ich versuchs meistens über enumchildwindows und getclassname. Aber so toll ist das Suchen da auch nicht. Es dürfte sogar länger dauern, als deine bisherige Variante.

Kannst du das Handle nicht über ActiveX oder so erfahren (also direkt in der VCL)?


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