对于要执行相同事件的事件代码,如菜单的Click事件调用窗口出来,代码只需写一次,在TreeView或是GroupItem的Click事件可以用一个自定义过程去调用菜单的Click事件代码,可以用Sender来实现。
1、Sender就是调用一个事件过程的控件,当你点击一个按钮Button1时,会产生一个Buootn1Click事件,系统会把Button1传递给Button1Click事件作为参数;
2、Sender是激发一个事件的对像(如按钮...),如点击Menu,则Menu的Click事件中的Sender就是这个TMenuItem......;
if Node.Data<>nil then
sFunctNO:=PMYData(Node.data)^.sFunctno;
//ShowMessage(sFunctNO); //返回菜单对应的ID
TreeViewItemClick(Node,sFunctNO); //自定义的过程,传参数:一个TTreeNode对象,就是Sender,还有一个是字符串变量
if Sender is TTreeNode then
begin
if sFunctNo='m0102' then
m0102Click(Sender as TTreeNode); //表示m0102Click事件是由TTreeNode对象来激发的
end;