クラスのインスタンスがあり、TComponentWinAPI呼び出しを介してそれぞれのコントロールと対話する必要があります。
これを行うには、TComponentインスタンスで表されるコントロールのハンドルが必要です。
どうすればそのハンドルを取得できTComponentますか?
クラスのインスタンスがあり、TComponentWinAPI呼び出しを介してそれぞれのコントロールと対話する必要があります。
これを行うには、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;