如何为自定义控件增加编辑窗口
来源:互联网 发布:软件启动广告 编辑:程序博客网 时间:2024/06/10 20:22
无意中从一个免费控件源码中发现了这个方法。
其实很简单,delphi的TComponent类下面已经有一个子类TComponentEditor,只要从这个子类再继承一个类即可。
源码如下:
uses DesignIntf, DesignEditors;//新增这两个引用单元
type
TSMBLogin = class(TComponent)
private
{ Private declarations }
……
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy(); override;
……
published
{ Published declarations }
property ……;
end;
type
TSmbLoginEditor = class(TComponentEditor)
procedure ExecuteVerb(Index: Integer); override;
function GetVerb(Index: Integer): string; override;
function GetVerbCount: Integer; override;
procedure DoDesign;
end;
……
……
{ TSmbLoginEditor }
procedure TSmbLoginEditor.DoDesign;
begin
ShowGoodarkAbout;//调用自定义的编辑窗口
end;
procedure TSmbLoginEditor.ExecuteVerb(Index: Integer);
begin
//nherited;
case index of
0: DoDesign;
1: Application.MessageBox(PChar('版本1.0'), '关于', MB_OK +
MB_ICONINFORMATION);
end;
end;
function TSmbLoginEditor.GetVerb(Index: Integer): string;
begin
case index of
0: result := '设计';
1: result := '版本';
end;
end;
function TSmbLoginEditor.GetVerbCount: Integer;
begin
result := 2;
end;
编译控件后测试一下,效果图如下:
点击“设计”即可弹出自定义窗口
点击“版本”弹出对话框
效果图看这边
http://priderock.dns0755.net:800/blog/?play=show&id=107
- 如何为自定义控件增加编辑窗口
- 为 ListView 控件增加动态编辑功能
- LightSwitch中如何自定义新增/编辑窗口
- LightSwitch中如何自定义新增/编辑窗口
- 如何为自定义表增加主键
- 自定义控件AutoScaleMode为Font造成宽度增加的问题
- wpf如何为自定义控件发布事件
- 如何为gtest的xml报告增加自定义属性
- 为ActiveX窗口上的自定义控件添加ToolTip
- 如何让repositoryItemComboBox控件的文本显示为不可编辑
- excel2007如何增加控件?
- 如何为自定义控件在工具箱中自定义个性化图标
- wpf 自定义时间编辑控件
- 为log4j增加自定义级别
- 为FireFox增加自定义搜索引擎
- 为UIKeyboardTypeNumberPad增加自定义按键
- 为uboot增加自定义命令
- 为UIKeyboardTypeNumberPad增加自定义按键
- 如果生活欺骗了你(普希金)
- JDO对开发的帮助有哪些 - 实例解析
- 激活blog!
- 一个北大青年教师2月份的工资单 (zt)
- IT人必读:写给浮躁的IT同仁
- 如何为自定义控件增加编辑窗口
- 我第一篇
- java防止反编译
- [原创]微软笔试123
- C++批评系列
- Developpeur Reference对Bjarne Stroustrup的采访
- 关于《Joel说软件》
- 2005.10.13 成长
- 光子的假设