|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
rhlw (lw) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/30 9:53:51 |
标题: |
奇怪的问题——为何我的工具栏不能拖动? |
浏览:1228 |
|
加入我的收藏 |
楼主: |
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.CoolBar1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept:=(source=ToolBar1); //指定接受拖拽操作的条件是拖拽对象为ToolBar1; end;
procedure TForm1.CoolBar1UnDock(Sender: TObject; Client: TControl; NewTarget: TWinControl; var Allow: Boolean); begin ToolBar1.AutoSize:=true; //当元件一拖离dock site元件时,此事就会被执行 ToolBar1.Caption:='工具1'; //设定独立工具栏窗口的大小和标题
end; 以上这段程序是我从一个程序中复制过来的,是使工具栏可任意拖动的程序,该代码在原程序中可达到效果:任意拖动工具栏。但我复制或重新输入并设好属性后运行,却没有这个效果,不知是什么原因,代码应没有错误的。不知各大侠有何见解,请帮帮忙,谢谢!
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。 |
作者: |
|
2003/12/30 9:58:15 |
1楼: |
DockSite设为true了吗?
----------------------------------------------
-我是天空一片云,漂泊天涯无定所 | __ o |__ __ __ |_, (__( | |__) (__( (__)
|
作者: |
rhlw (lw) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/30 12:47:50 |
3楼: |
太谢谢了,我没有把ToolBar1.DragKind := dkDock;设好,书上没说. 谢谢,成功了.
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
|
作者: |
rhlw (lw) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/30 13:01:16 |
4楼: |
还有,2楼的老兄,不写代码好象不行,只能拖动一次,放回去后再想拖就拖不动了.是不是?
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
|
|