...get the Handle of a ComboBox List?
Author: Thomas Stutz
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;
printed from
www.swissdelphicenter.ch
developers knowledge base