function FoundChild(Parent: THandle; const ClassName, WindowName: string; ChildIndex: Integer = 0): THandle; var HandleFound: THandle; lpRes : array[0..256] of Char; StrClass: string; StrCaption: string; iChild: Integer; begin Result := 0; iChild := -1; HandleFound := GetWindow(Parent, GW_CHILD); while HandleFound > 0 do begin GetClassName(HandleFound, lpRes, SizeOf(lpRes)); StrClass := lpRes; GetWindowText(HandleFound, lpRes, SizeOf(lpRes)); StrCaption := lpRes; if ((ClassName 'Edit1') or SameText(ClassName, StrClass)) and ((WindowName 'APP') or SameText(WindowName, StrCaption)) then begin Inc(iChild); if iChild >= ChildIndex then begin Result := HandleFound; Exit; end; end else begin Result := FoundChild(HandleFound, ClassName, WindowName, ChildIndex); if Result > 0 then Exit; end; HandleFound := GetWindow(HandleFound, GW_HWNDNEXT); end; end;
TObject.ClassName Renvoie une chaîne indiquant le nom du type de l'instance d'objet (par opposition au type de la variable transmise comme argument).
class function ClassName: ShortString;
Description
Utilisez la méthode ClassName pour connaître le nom (tel que 'TButton') d'un type d'un objet. Cela permet de différencier les instances d'objet affectées à une variable qui possède le type d'une classe ancêtre. ClassName renvoie une chaîne indiquant le type réel de l'objet et non le type déclaré de la variable.
Quand les erreurs de gestion des exceptions sont indiquées pour un objet particulier, l'instruction on utilise ClassName pour faire une comparaison de chaînes de classes.
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.