为什么有些组件的Align属性在设计期可用,有些不行?(200分)

B

Beast

Unregistered / Unconfirmed
GUEST, unregistred user!
我发现TComboBox、TEdit、TButton……很多常用组件的Align属性在设计期间是
不能使用的,也就是说 Object Inspector上不能显示Align属性。于是我就从
TButton继承了一个TAlignButton,把它的Align给Publish出来了。结果发现这个
组件根本不被允许放在Form等TWinControl上。
这是为什么呢??
 
你可以試一試這樣用:
TWinControl(Button1).Align := alLeft;
 
可以呀:
unit AlignButton;

interface

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

type
TAlignButton = class(TButton)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
property Align;
{ Published declarations }
end;

procedure Register;

implementation

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

end.



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, AlignButton;

type
TForm1 = class(TForm)
AlignButton1: TAlignButton;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

end.

 
faint~
Delphi6中如果直接在New Component向导中写父类为TEdit则实际上是继承
自QEdit,也就是说是CXL控件,我冤!!
 
那是你自己没看清楚,在New Components中Ancestor Type中输入TEdit的时候IDE自动定位Combobox的到
"TEdit [QStdCtrls]"一项,这是CLX控件,它下面就是"TEdit [StdCtrls]"项.
 
对对!
是我没有看清除,活该!!
 
顶部