我想作这样一个控件:在CoolBar上创建一个 ToolBar, 再在Toolbar上创建N个 SpeedButton代码如下: TcySpeedButton = Class(TSpeedButton)
Private
Public
Constructor Create(aOwner: TComponent); Override;
Destructor Destroy; Override;
end; TcyCoolBar = Class(TCoolBar)
Private
ToolBar: TToolBar;
SpeedNew: TcySpeedButton;
SpeedSave: TcySpeedButton;
SpeedDel: TcySpeedButton;
SpeedPrint: TcySpeedButton;
SpeedClose: TcySpeedButton;
protected
public
constructor Create(aOwner: TComponent); Override;
destructor Destroy; override;
published end;constructor TcyCoolBar.Create(aOwner: TComponent);
begin
inherited;
Self.Height := 55;
ToolBar := TToolBar.Create(Self);
With ToolBar do
begin
ToolBar.Height := 52;
Parent := Self;
SpeedNew := TcySpeedButton.Create(nil);
With SpeedNew do
begin
Caption := '新增';
Glyph.LoadFromFile('D:\Work\BMP\5.bmp');
Parent := ToolBar; //这儿有错!
end;
end;
end;destructor TcyCoolBar.Destroy;
begin
if assigned(ToolBar) then
FreeAndNil(ToolBar);
inherited;
end;
{ TcySpeedButton }constructor TcySpeedButton.Create(aOwner: TComponent);
begin
inherited;
Height := 50;
Width := 45;
Layout := blGlyphTop;end;destructor TcySpeedButton.Destroy;
begin inherited;
end;
Private
Public
Constructor Create(aOwner: TComponent); Override;
Destructor Destroy; Override;
end; TcyCoolBar = Class(TCoolBar)
Private
ToolBar: TToolBar;
SpeedNew: TcySpeedButton;
SpeedSave: TcySpeedButton;
SpeedDel: TcySpeedButton;
SpeedPrint: TcySpeedButton;
SpeedClose: TcySpeedButton;
protected
public
constructor Create(aOwner: TComponent); Override;
destructor Destroy; override;
published end;constructor TcyCoolBar.Create(aOwner: TComponent);
begin
inherited;
Self.Height := 55;
ToolBar := TToolBar.Create(Self);
With ToolBar do
begin
ToolBar.Height := 52;
Parent := Self;
SpeedNew := TcySpeedButton.Create(nil);
With SpeedNew do
begin
Caption := '新增';
Glyph.LoadFromFile('D:\Work\BMP\5.bmp');
Parent := ToolBar; //这儿有错!
end;
end;
end;destructor TcyCoolBar.Destroy;
begin
if assigned(ToolBar) then
FreeAndNil(ToolBar);
inherited;
end;
{ TcySpeedButton }constructor TcySpeedButton.Create(aOwner: TComponent);
begin
inherited;
Height := 50;
Width := 45;
Layout := blGlyphTop;end;destructor TcySpeedButton.Destroy;
begin inherited;
end;
解决方案 »
- 发现raize一个 重要的 bug
- Paradox 数据库问题
- 能不能用query控件对ClientDataSet 中的数据进行查询......
- 有人说我倒分.马上要死了.散掉所有分.(4)
- 一个给表中数据排序的难题:如何在字段后加上该记录值的名次,有一个DBF格式的表,有下列字段:学号,姓名,语文,数学,总分...
- 急急急急!!急死我了!大哥们帮帮忙,打印不正确走纸问题!
- openprinter函数上的参数怎样定义?
- 请问dbgrid的问题?
- 把一个指针赋值给一个结构,怎么做?
- Q1xp 开发版问世,您可以轻松编写自己的ICQ/OICQ系统了。
- 大家现在都用什么制作安装程序*********************
- 如何将Turbo delphi 安装到 已经安装了.net 2.0环境下的系统上
With SpeedNew do
begin
Caption := '新增';
Glyph.LoadFromFile('D:\Work\BMP\5.bmp');
Parent := ToolBar; //这儿有错!
end;Parent 不知道应该指定谁?
CoolBar , 创建时看不到!
ToolBar, 创建时报错(Control '' has no Parent Windows)
create的参数是ower,指的就是panrent。还有,动态创建的speedbutton默认是不可见的,还应该把visible设置成true。