心得体会:
procedure TForm4.PopupMenuItemsClick(Sender: TObject);begin
clipboard.setTextBuf(PChar(NewItem.Caption));
//JamExplorerBrowser1.Path := NewItem.Caption; //这么写不行!虽然不报错吧,但实现运行后发现只能成功第一次
JamExplorerBrowser1.Path := TMenuItem(Sender).Caption;//这样写OK!就能转到动态生成的菜单项里对应的路径去了。。。
end;
也就是说 (Sender). 这个对象里存的东西得到的才是活的实际情况。 Sender就是触发这个回调函数的对象本身,就像你可以把多个按钮绑到同一个OnButtonClick函数,通过Sender就可以判断。
你甚至可以把不同的对象都绑同一个函数,然后利用is运算符判断,或者在try块用as运算符转换,利用对象的名称或者tag判断不同的对象。
不得不说Object Pascal的RTTI还是做的很不错的,非常适合GUI。 DEATHTOUCH 发表于 2024-2-13 23:11
Sender就是触发这个回调函数的对象本身,就像你可以把多个按钮绑到同一个OnButtonClick函数,通过Sender就 ...
专家说得太对了。我得弄相关成功案例50个加深巩固,入库提高。 学习经验 节日期间不忘学习,佩服佩服{:1_893:} 不用delphi好多年{:301_994:}
页:
[1]