...get the Handle of a ComboBox List?
|
Autor:
Thomas Stutz |
[ Print tip
] | | |
private
{ Private declarations }
procedure ComboBoxMessage(var Msg: TMessage); message WM_USER;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function EnumProc(wnd: HWND; Alabel: TLabel): BOOL; stdcall;
var
buffer: array[0..50] of Char;
begin
Result := True;
if IsWindowVisible(wnd) then
begin
GetClassName(wnd, buffer, SizeOf(buffer));
if StrIComp(buffer, 'ComboLBox') = 0 then
begin
Alabel.Caption := Format('handle found: %x', [wnd]);
Result := False;
end;
end;
end;
procedure TForm1.ComboBoxMessage(var Msg: TMessage);
begin
EnumThreadWindows(GetCurrentThreadID, @EnumProc, Integer(label1));
end;
procedure TForm1.ComboBox1DropDown(Sender: TObject);
begin
PostMessage(Handle, WM_USER, 0, 0);
end;
|