| Autor |
Beitrag |
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Do 14.08.08 11:49
Hi,
über den Winspector lasse ich mir den Aufbau einer andren Anwendung zeigen. Leider gibt es für mich an einer Stelle ein Problem:
auf einer Form sind 3 Panels, alle ohne Namen und als Klasse TPanel.
Auf einem dieser Panels ist ein Button und auf einem andren sind 2 Edits die ich ansprechen möchte (bei den Edits ist das Problem ähnlich, woher kriege ich raus, welches Edit welches ist?)
Ich habe es mit einem mehrmaligen Aufruf von FindWindowEx versucht, aber es funktioniert nicht. hB ist immer das gleiche Handle.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| while (hbtn<>0) or(hA<>0) do begin hB:=FindWindowEx(h, 0, 'TPanel', nil); if hBtn=0 then hBtn:=FindWindowEx(h, 0, 'TButton', 'Herunterladen && Konvertieren'); if hA=0 then begin hA:=FindWindowEx(hB,0,'TEdit',nil); hB:=FindWindowEx(hB,0,'TEdit',nil); end; end; |
h=Handle der Form
hB ist in diesem Fall immer identisch, obwohl es 3 Panels gibt.
Kann mir da jemand weiterhelfen?
Danke im Vorraus,
Xion
Einloggen, um Attachments anzusehen!
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
SvenAbeln
      
Beiträge: 334
Erhaltene Danke: 3
|
Verfasst: Do 14.08.08 12:17
| Zitat: |
Delphi-Quelltext 1:
| hB:=FindWindowEx(h, 0, 'TPanel', nil); |
hB ist in diesem Fall immer identisch, obwohl es 3 Panels gibt.
|
Du suchst mit FindWindowEx immer nach dem ersten TPanel in dem Fenster, daher bekommst du immer wieder das identische Ergebnis. Über den zweiten Parameter kannst du aber angeben, nach welchem Handle er mit der Suche beginnen soll.
Delphi-Quelltext 1: 2: 3:
| hPanel1:=FindWindowEx(h, 0, 'TPanel', nil); hPanel2:=FindWindowEx(h, hPanel1, 'TPanel', nil); hPanel3:=FindWindowEx(h, hPanel2, 'TPanel', nil); |
|
|
Xion 
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Do 14.08.08 12:51
aah, prima, danke
wenn ichs jetzt die Delphi-Hilfe nochmal lese, verstehe ichs auch  ist leider auf Englisch bei D2005
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
|