组件开发相关: 设计的属性是string类型的,希望组件用户通过OpenDialog指定文件…………(50分)

  • 主题发起人 主题发起人 mysec
  • 开始时间 开始时间
M

mysec

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:
published:
AppName: string read AppName write SetAppName
这个SetAppName中Create了一个OpenDialog,并可以指定符合过滤条件的文件给FAppName。
现在我的问题是:
1 如何实现在用户点击属性右边的省略号来打开一个OpenDialog
2 如何让该属性只能通过OpenDialog选择,而不能在Object Inspector中键入
谢谢。
 
请知道的朋友指点一下
就算不回答up一下也好啊 谢了
 
就这样一沉到底?
除非你jump,否则我不jump :)
 
你得自己编一个属性编辑器,然后用RegisterComponentEditor注册啊,在设计期直接调用
OpenDialog好像不行,不过你自己可以做一个类似功能的来替代它
 
目前有两种方案:
一 定义属性为TFileName类型
缺点: 不能对文件类型过滤
二 注册一个属性编辑器

我的问题是:
方法二中New一个新的TStringProperty时,要uses DesignIntf,但为何delphi提示我
找不到 .dcu文件呢?即使加上DesignWindows, StdCtrls, ComCtrls, DesignEditors也
不行!如果在Search Path中加上 DesignIntf的路径后,为何又找不到ComponentDesigner
了呢?这可是DesignIntf 自引用的啊!
 
注:Delphi 6
 
在Requires中再加入一个文件designide.dcp,在($Delphi6)/Lib目录下。
 
好的,谢谢,问题解决了
 
多人接受答案了。
 
后退
顶部