Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#5
  Alt 17. Jul 2002, 11:17
Der erste Parameter zu EnumChildWindows() ist der Handle zum Elternfenster, das ist dir ja schon klar.
Der zweite Parameter ist eine anwendungsdefinierte Funktion bzw. deren Adresse, also eine Funktion, die du selbst definierst und die ungefähr so aussehen muss:
Code:
function EnumChildProc(hWindow: HWND, lParameter: LPARAM): Boolean; stdcall;
begin

end;
Der dritte Parameter darf von deiner Anwendung selbst definiert werden, damit deine EnumChildProc() ihn erkennt ;c) Setz' einfach 0 ein.

Diese Funktion wird jetzt für jedes Kindfenster aufgerufen, und hWindow ist dabei der Handle des Kindfensters. Der übergebene LPARAM ist der Wert, den du bei EnumChildWindows() angegeben hast.
In der Funktion kannst du also jetzt z.B. den Typ des Fensters überprüfen, und solange weitermachen, bis du das entsprechende gefunden hast.
Als Rückgabewert musst du true zurückgeben, wenn du weitermachen willst und false, wenn die Aufzählung aufhören soll (also wenn du das gefunden hast was du willst).

Alternativ kannst du auch mit FindWindowEx() das Fenster suchen, was sinnvoll ist wenn es beispielsweise nur das eine Memo gibt. FindWindowEx() übergibst du die Parameter Parenthandle, 0, 'EDIT', 0, wobei EDIT der Klassenname ist, den du gegebenenfalls anpassen musst.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat