我有一个TComponent
类的实例,需要通过 WinAPI 调用与相应的控件进行交互。
为了做到这一点,我需要一个由TComponent
实例表示的控件的句柄。
我怎样才能得到那个句柄TComponent
?
我有一个TComponent
类的实例,需要通过 WinAPI 调用与相应的控件进行交互。
为了做到这一点,我需要一个由TComponent
实例表示的控件的句柄。
我怎样才能得到那个句柄TComponent
?
尝试将您的 TComponent 实例转换为 TWinControl。
如果它返回有效句柄,则未经测试,但它返回合理的数字。
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
mycontrol: TWinControl;
begin
Memo1.Lines.Clear;
for i := 0 to ComponentCount - 1 do
if Components[i] is TWinControl then
begin
mycontrol := TWinControl(Components[i]);
Memo1.Lines.Add(IntToStr(mycontrol.Handle));
end;
end;