haitao:
【delphi,技术贴】想给checklistbox/treeview增强一点操作功能,但是又不想修改那些类,想采用“寄生?插入?”的方式
[阅读: 962] 2009-04-20 03:45:12
想给checklistbox/treeview增强一点操作功能,但是又不想修改那些类,想采用“寄生?插入?”的方式
treeview以前是通过一个frame实现的,里面有6个按钮:全部展开/收缩、展开/收缩当前节点的所有子节点,仅仅展开/收缩当前节点
checklistbox以前是通过外挂一个公用的双击事件(同时是否按下shift/ctrl/alt组合)实现的:全选、反选、复制当前所选项、粘贴当前所选项.....
但是都感觉不够方便,frame需要占界面的位置,双击事件占用了程序业务自己需要的双击事件,而且也不过直观
所以,想改为通过一个通用的弹出菜单,为checklistbox/treeview增强这些操作功能
与以前做一个通用的多选一和多选多对话框一样,也是希望不增加类实现事件方法的挂接
上次,后来发现可以不用挂接事件;这次,应该是必须挂接事件了。
如何从一个menuitem知道它是属于哪个popupmenu的?再知道它是在哪个checklistbox/treeview上右键激发的?
除了扫描所有控件