对Delphi控件的一点改良(三)

Parent属性的应用。大家常常忽视Parent属性的存在。那好就让他发发威吧。

看看这个好东东:

unit Edit1;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;

type
TSParent = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property Parent;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TSParent]);
end;

end.

安装这个控件。新建一个工程。

在Samples页上拖拽一个TSParent控件。你会说这不就是一个TEdit控件吗?

你再看看,他多出了一个Parent属性。这下可了不得了,它的容器竟可以在设计期间随意制定,不管别的控件有没有容器属性他都能够把它当作容器。TPanel、TEdit、TMemo她简直像一个无处不能存在的魔鬼。

该控件有两个缺点。1)Parent属性列表中不能列出Form。原因吗自己去想。2)Parent属性列表竟然能够列出它本身的控件。

不过想解决很容易,自己去作一个属性编辑器就行了。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus