【发布时间】:2010-09-20 02:36:27
【问题描述】:
我有一个对象检查器,就像 Delphi 的一样,我在运行时显示它以允许用户更改在我的应用程序中显示的组件的属性。
我想创建一个从 TImage 派生的组件,它具有一个额外的属性,我可以在其中存储加载图像的路径。为此,我假设我可以将 TImage 子类化,有一个事件来通过使用类似的东西来选择图像......
var OpenPictureDialog: TPictureEditorDlg;
if OpenPictureDialog1.Execute then
OpenPictureDialog1.FileName <-- contains what I want
但是,如果我将其包装在 proc/fn 中,那么签名是什么?当用户单击 Object Inspector 中 Picture 属性旁边的省略号时,如何调用它?
或者也许我的问题应该是是否有一个现有的 3rd 方组件已经这样做了......
可用于商业应用的免费组件奖励 50 点奖励(非常好的组件我会增加奖励)
如果有人可以提供执行此操作的组件的 URL,那么我将开始另一个赏金,这次是 100,并将其奖励给他们
【问题讨论】:
-
Mawg,您错误地识别了问题:问题不在于 TImage(或后代),而在于您的 TMS 对象检查器。如果这是 Delphi 的 Object Inspector,解决方案将是注册一个 Property Editor,这是一个众所周知的解决方案并且易于实现。使用 TMS 对象检查器,您需要询问 TMS 人员如何做类似的事情(或者,更有可能的是,侵入源代码 - 您确实拥有对象检查器的源代码,对吗?)。
标签: delphi