做控件时候,有谁做过组件编辑器
各位有没有做过不可视控件并带有组件编辑器,就像ImageList那样双击它就会
弹出一个图标编辑框来:
我在我的控件单元中uses DesignEditors,DesignIntf;
TTrayIconEditor=class(TComponentEditor)
private
procedure ExecuteVerb(Index:Integer);override;
function GetVerb(Index:integer):String;Override;
function GetVerbCount:integer;override;
end;
并把它实现如下:
///////TTrayIconEditor////////////////////////
procedure TTrayIconEditor.ExecuteVerb(index:integer);
begin
case index of
0: application.MessageBox('你好,这是风做的托盘组件!!','关于',mb_OK);
end;
end;
function TTrayIconEditor.GetVerb(index:integer):String;
begin
case index of
0:Result:='About MyTray';
end;
end;
function TTrayIconEditor.GetVerbCount:integer;
begin
Result:=1;
end;
最后注册如下:
RegisterComponentEditor(TMyTray,TTrayIconEditor);
之后控件也成功地安装了
我用一个程序来测试这个控件,在窗口设计器中双击控件,也可以弹出一个MessageBox
可是当我编译这个测试程序的时候,却出现错误提示说:
[Fatal Error] Unit1.pas(7): File not found: 'DesignEditors.dcu'
这到底是为什么.
问题点数:50、回复次数:4Top
1 楼zhxfzhxf1(zhxfzhxf1)回复于 2004-08-04 20:38:49 得分 0
搜索DesignEditors.dcu,
把它加到 查找路径里面Top
2 楼Linyco(Linyco)回复于 2004-08-04 21:00:44 得分 0
我建了一个用来delphi讨论的群,群号是5245338,欢迎大家加入,共同研究讨论!Top
3 楼oceantom(怀念清水)回复于 2004-08-05 00:13:45 得分 0
我搜遍整个系统都没有搜到DesignEditors.dcu这个文件
我想应该有人遇到相似的问题吧.麻烦告诉我一下解决的方法吧,Top
4 楼linzhengqun(风。我回来了)回复于 2004-08-05 11:07:23 得分 50
把这个组件编辑类声明在其他单元,然后再Uses你的组件类的单元。
我以前似乎也遇到过同样的问题Top




