大佬教程收集整理的这篇文章主要介绍了delphi – 如何在设计时调用组件的属性编辑器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
TMyCustomPanel = class(TCustomPanel) private ... published property MyownedCollection: TMyownedCollection read GetMyownedCollection write SetMyownedCollection; end;
我还希望能够在设计时双击面板并默认打开集合编辑器.我开始创建一个派生自TDefaultEditor的类并注册它.
TMyCustomPanelEditor = class(TDefaultEditor) protected procedure EditProperty(const PropertyEditor: IProperty; var ConTinue: Boolean); override; end; RegisterComponentEditor(TMyCustomPanel,TMyCustomPanelEditor);
这似乎是在正确的时间运行,但我仍然坚持如何在当时启动集合的属性编辑器.
procedure TMyCustomPanelEditor.EditProperty(const PropertyEditor: IProperty; var ConTinue: Boolean); begin inherited; // Comes in here on double-click of the panel // How to launch collection editor here for property MyownedCollection? ConTinue := false; end;
任何解决方案或不同的方法将不胜感激.
这是一个编辑器,通过使用新创建的事件处理程序将您放入代码编辑器来响应对表单的双击.想想当您双击TButton并将其放入OnClick处理程序时会发生什么.
我写了一个设计时间编辑器已经很久了(我希望我的记忆今天正常工作),但我相信你的编辑器应该来自TComponentEditor.为了显示集合编辑器,您可以从ColnEdit单元调用ShowCollectionEditor.
您可以覆盖TComponentEditor的Edit方法并从那里调用ShowCollectionEditor.如果你想更高级,可以使用GetVerbCount,GetVerb和ExecuteVerb声明一些动词.如果你这样做,那么你扩展上下文菜单,默认的Edit实现将执行动词0.
以上是大佬教程为你收集整理的delphi – 如何在设计时调用组件的属性编辑器全部内容,希望文章能够帮你解决delphi – 如何在设计时调用组件的属性编辑器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。