function EnumChildProc(hwnd: THandle; lParam: Integer): Boolean; stdcall; var Data: PData; begin Data := PData(lParam); Result := Data^.Index <> Data^.Value; if not Result then Data^.hwnd := hwnd; Inc(Data.Value); end;function GetDlgItem(Handle: THandle; Index: Integer): THandle; var Data: TData; begin FillChar(Data, SizeOf(Data), 0); Data.Index := Index; EnumChildWindows(Handle, @EnumChildProc, Integer(@Data)); Result := Data.hwnd; end;
var
Data: PData;
begin
Data := PData(lParam);
Result := Data^.Index <> Data^.Value;
if not Result then
Data^.hwnd := hwnd;
Inc(Data.Value);
end;function GetDlgItem(Handle: THandle; Index: Integer): THandle;
var
Data: TData;
begin
FillChar(Data, SizeOf(Data), 0);
Data.Index := Index;
EnumChildWindows(Handle, @EnumChildProc, Integer(@Data));
Result := Data.hwnd;
end;