Delphi Open Tools API 浅探 元件编辑器i.docx

Delphi Open Tools API 浅探 元件编辑器i.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

问题:DelphiOpenToolsAPI浅探-元件编辑器(积分:100,回复:13,阅读:154)

分类:ObjectPascal(版主:menxin,cAkk)

来自:savetime,时间:2004-1-282:54:00,ID:2424123DelphiOpenToolsAPI浅探-元件编辑器

savetime2k@ 2004.1.28

[显示:小字体|大字体]

今天开始学习元件编辑器,感觉比属性编辑器简单许多,但还是遇到了一些疑问。如果你能解答文中记录的问题,请告诉我答案,谢谢!

目录

===============================================================================

TBaseComponentEditorclass

IComponentEditorinterface

TComponentEditorclass

TComponentEditor.ExecuteVerb方法

TComponentEditor.PrepareItem方法

TComponentEditor.Edit方法

TComponentEditor.IsInInlined方法

TDefaultEditorclass

TSelectionEditorclass

===============================================================================

本文排版格式为:

正文由窗口自动换行;所有代码以80字符为边界;中英文字符以空格符分隔。

(作者保留对本文的所有权利,未经作者同意请勿在在任何公共媒体转载。)

正文

===============================================================================

TBaseComponentEditorclass

===============================================================================

TBaseComponentEditor是所有元件编辑器的基类,它的构造函数由DelphiIDE在选中一个元件时被IDE调用。所有的元件编辑器必须实现TBaseComponentEditor.Create函数和IComponentEdiotr接口。元件编辑器的构造函数中传入当前选中的元件和IDesigner接口。

{DesignIntf.pas}

TBaseComponentEditor=class(TInterfacedObject)public

constructorCreate(AComponent:TComponent;ADesigner:IDesigner);virtual;end;

(*为什么要以TInterfacedObject为基类呢?)

===============================================================================

IComponentEditorinterface

===============================================================================

IComponentEditor定义了元件编辑器需要实现的接口:

IComponentEditor=interface

[{ECACBA34-DCDF-4BE2-A645-E4404BC06106}]

procedureEdit;

双击元件时触发

procedureExecuteVerb(Index:Integer);

执行一个自定义动作

functionGetVerb(Index:Integer):string;

获取自定义动作的字符串名称

functionGetVerbCount:Integer;

获取自定义动作的数量

procedurePrepareItem(Index:Integer;constAItem:IMenuItem);

自定义动作的菜单项

procedureCopy;

此方法在元件信息被拷贝到剪贴板之后被调用

(*试验结果:好像不会被调用?)functionIsInInlined:Boolean;

返回元件的Owner是否是csInline状态

functionGetComponent:TCompon

文档评论(0)

dqy118 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海海滋实业有限公司
IP属地上海
统一社会信用代码/组织机构代码
91310115MA7DL1JF2N

1亿VIP精品文档

相关文档