end;
procedure tmytray.mouseup(button: tmousebutton; shift: tshiftstate; x, y: integer);
begin
if assigned(foniconmouseup) then
foniconmouseup(self, button, shift, x, y);
end;
procedure tmytray.mousemove(shift: tshiftstate; x, y: integer);
begin
if assigned(foniconmousemove) then
foniconmousemove(self, shift, x, y);
end;
end.
组制作完毕,相信经过上面的讲解,以及代码的注释,应该不难理解。接下来是什么呢,给我的托盘控件来点效果,即在设计器中,当双击该组件,或右击快捷菜单第一项时,会弹出一个about对话框,来说明我的托盘组件。
这个就要用到组件编辑器啦 。几本经典书中都有说及,比如deplphi开发人员指南,我也是从那里学来的,不过却遇到了一些问题,折磨了几天才解决。
这里不想详细介绍,去看一下那些书,大概也就知道了,只略说一下。
其原理就是实现一个继承自tcomponenteditor的子类ttrayiconeditor,并在其中覆盖以下三个方法:
function getverbcount: integer; override;
function getverb(index: integer): string; override;
procedure executeverb(index: integer); override;
可以精略理解为: