请问怎样把常用的多个按钮或其它控件封装成组件。急请指教。(100分)

  • 主题发起人 主题发起人 hzjone
  • 开始时间 开始时间
H

hzjone

Unregistered / Unconfirmed
GUEST, unregistred user!
比如:有四个按钮功能分别是FIRST,NEXT,PRIOR,LAST。怎样一同把他封装进去。
 
建议多看VCL源码。
 
最简单的是框架frames
不是控件,但是很类似控件,算是模块吧
 
没有问题呀,在设计组件时直接把其它控件加进去就行了
例:
组件定义: TListBar = class(TCustomControl)
private
{ Private declarations }
WorkAreas :TWinControl;
MenuButton, ItemButton :array of TListButton;
UpButton, DownButton, CloseButton :TListButton;

构造过程:
Constructor TListBar.Create(Owner :TComponent);
begin
inherited Create(Owner);
Width:=135;
Height:=300;
...
CloseButton :=TListButton.Create(Self);
CloseButton.Parent:=Self;
CloseButton.ButtonStyle :=btnsIE;
CloseButton.ButtonFlag :=btnfUpArrow;
// CloseButton.BevelWidth :=1;
CloseButton.OnClick :=DoTitleClick;

WorkAreas:=TWinControl.Create(Self);
WorkAreas.Parent :=Self;

UpButton :=TListButton.Create(WorkAreas);
UpButton.Parent:=WorkAreas;
UpButton.ButtonStyle :=btnsNormal;
UpButton.ButtonFlag :=btnfUpArrow;
UpButton.BevelColor :=clBlack;
UpButton.Width :=16;
UpButton.Height :=16;
UpButton.OnClick :=UpButtonClick;
...

 
在单个项目中运用的话,用frames还不错的
 
to:yostgxf.我的按钮有特殊的功能啊。
to:app2001.怎样用呢。我在FRAMES加入几个按钮时。按运行。不能运行啊。
 
to: app2001.可以不可以在做成FRAMES 后直接反整个FRAMES封装成控件啊请指教。
 
to::魏启明.怎样做教我一下行吗?
 
当然用FRAMES更简单了
先new 一个TFrame单元,在界面上把它设计好(跟Form基本一样)
在form中加 Standard 中的FRAMES, 然后选择你的Frame就行了.就可以把Frame加到Form中了
 
RE:我的按钮有特殊的功能啊。
用组件的话,按钮的事件可以自己设计的.再特殊也一样的呀
 
to yostgxf:给我一个比较全的组件代码好吗?谢了。
 
可以呀,你要什么类型的,留个mail
 
可以把FRAME直接变成组件的形式,在多个项目中运用的,你只要做好你的FRAME后,在上面点右键菜单,有一个add to repository...的子项,点进去,填上你的FAMRE的名字,可希望添加到哪个模板上就可以了。
 
至于用FRAME的用法,你可自己参看一下.../Borland/Delphi6/Demos/Frames下的例子的
 
继承一个容器类的控件,如(groupbox)之类,做一个类,将你的控件包含进去,就可以
任意调用了!
 
我的MAIL是:hzjone@hotmail.com
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部