たとえば、独自のイベント プロシージャを割り当てたいとします。
procedure TSuperObject.DoSomething(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ShowMessage('Yes, I am doing');
end;
フォーム上の任意の TWinControl に。通常、フォームに Panel1 (TPanel) がある場合は、簡単に実行できます。
Panel1.OnMouseDown:=SuperObject1.DoSomething;
しかし、それを普遍的にしたいのなら、どうすればそれを達成できるでしょうか? TWincontrol の保護されたメンバーにアクセスできないため、直感的な答え:
AnyWinControl.OnMouseDown:=SuperObject1.DoSomething;
単に機能しません。
RTTIでできますか?どのように?
ありがとう