我正在寻找一种方法来重新路由OnMouseEnter
TPanel 的事件处理程序。我有一个类,其中包含我用来表示座位表的 TPanel 数组。我希望能够为OnMouseEnter
每个在运行时动态创建的 TPanel 的事件分配一个自定义事件。我将提供一些伪代码来帮助澄清:
//Class Declaration
TMyClass = Class(TObject)
PanelArray : Array of TPanel;
end
//Forms declarations
MyClass : TMyClass //Created on the on create event of form.
//Loop assigning the new event
For I:=0 To High(MyClass.PanelArray) do
Begin
//Instance of panel
MyClass.PanelArray[I].OnMouseEnter := NewOnMouseEnterEvent(Parm1,Parm2,Parm3,....ParmN);
end;
当调用 NewOnMouseEnter
事件时,代替 TPanel 的事件,OnMouseEnter
我想它的功能与您在设计时将面板放置在表单上并OnMouseEnter
从对象检查器创建事件的方式完全相同,但能够传递其他参数:
TForm1.Panel1OnMouseEnter(Sender: Tobject; Parm1,Parm2,Parm3,....ParmN:String);
begin
ShowMessage(Parm1);
end;
任何人都可以提出一个可能的解决方案吗?我希望我足够清楚,我是第一次发帖。提前感谢您提供的任何帮助。