getverbcount指定控件快捷菜单的项数
getverb指定快捷菜单中的相关项的名字
executeverb执行点击快捷菜单项后的动作
接着在register方法中调用registercomponenteditor(tmytray,ttrayiconeditor);
第一个参数为组件类名,第二个为组件编辑器的类名。
而上面的方法必须引用designintf,designeditors。
当我在我的组件单元这样做之后出现问题了,编译安装没有问题。我建立测试程序,并拉一个托盘组件,双击它,可以出现about对话框,右击菜单第一项也没有问题。可是当我运行测试程序时,却出现了这样的编译错误:
[fatal error] unit1.pas(7): file not found: 'designeditors.dcu'
这让我痛苦了好几天,书上是这么说的,应该没有什么错误呀。后来经过摸索,才找到了解决之道。
解决的办法就是将组件编辑器类放在另一个单元中,并在这个单元引用我的托盘组件单元。
并安装之。这才可以正常运行,这个编辑器单元如下:
unit abouttray;
interface
uses
sysutils,classes,designintf,designeditors,forms,
mytray;
type