我在下面写了一个样本组件:
unit Test;
interface
uses
System.SysUtils, System.Classes, System.Variants, VCL.Dialogs;
type
TTest = class(TComponent)
private
fName: TStringList;
{ Private declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); Override;
destructor Destroy; override;
published
{ Published declarations }
property Names: TStringList read fName;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TTest]);
end;
{TTest }
constructor TTest.Create(AOwner: TComponent);
begin
inherited;
fName := TStringList.Create;
for i:= 1 to 100 do
fName.Add(IntToStr(i));
end;
destructor TTest.Destroy;
begin
fName.Free;
inherited;
end;
end.
Run Code Online (Sandbox Code Playgroud)
现在当我在Delphi上安装它时,在Object Inspector中我有一个名为"Names"的属性,我应该双击它,然后一个对话框显示存储在Name上的TStringList项.
我想在其他组件(如TEdit等)中使这个属性像Font.Name,当点击Name属性,列表显示,用户可以从中选择一个项目,然后将项目分配给属性并显示为Object Inspector中的属性值.
您需要为您的房产编写属性编辑器.以下是一些链接供您阅读,因为它不是一个简单的答案: -
http://www.drbob42.com/delphi/property.htm
http://delphi.about.com/library/bluc/text/uc092501a.htm
http://www.delphicorner.f9.co.uk/articles/comps1.htm
| 归档时间: |
|
| 查看次数: |
572 次 |
| 最近记录: |