ivate
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.CoolBar1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=(source=ToolBar1); //指定接受拖拽操作的条件是拖拽对象为ToolBar1;
end;
procedure TForm1.CoolBar1DockDrop(Sender: TObject; Source: TDragDockObject;
X, Y: Integer);
begin
ToolBar1.AutoSize:=false; //当元件拖到dock site元件上面,并且放开鼠标左键之后,此事件就会被执行
ToolBar1.Align:=altop; //为了便于拖拽,将toolbar1的宽度与coolbar1相近.
ToolBar1.Width:=CoolBar1.Width-1;
end;
procedure TForm1.CoolBar1UnDock(Sender: TObject; Client: TControl;
NewTarget: TWinControl; var Allow: Boolean);
begin
ToolBar1.AutoSize:=true; //当元件一拖离dock site元件时,此事就会被执行
ToolBar1.Caption:=''工具栏''; //设定独立工具栏窗口的大小和标题
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
Close; //退出
程序end;
end.
下面列出与DOCK功能有关的事件:
OnDragDrop: 当元件被拖动时,此事件被执行;
OnDragOver: 用于指定元件可以被拖动的条件;
OnDockDrop: 当元件拖到dock site元件上面,并且放开鼠标左键之后,此事件就会被执行;
OnDockOver:当元件一拖到dock site元件上,此事件就会被执行;
OnUnDock:当元件一拖离dock site元件时,此事就会被执行;
OnGetSiteInfo:取得dock site元件的一些信息。
好了,通过一个小小的拖放工具栏的例子,我们马上就可以体会到Delphi的易用与强大之处!以后我会继续写一些关于用Delphi进行实例编程的文章!各位Delphi爱好者,大家将Delphi进行到底吧!小生水平有限,如有不对之处,请各位网友指出!谢谢! aatun@163.net