delphi 的停靠问题2

daozhao 2000-02-17 09:17:00
本人在写一个程序的界面要求和delphi的IDE界面差不多.但在写的过程中遇到不少的问题。窗体描述如下。 form运行开始时,不能拖着panel2的头拖动和click panel2的关闭按钮。必须click一下panel2后才可以拖着panel2的头拖动和click panel2的关闭按钮。还有,拖着panel2向controlbar1拖。不成功后,又不能拖着panel2的头拖动和click panel2的关闭按钮。又需click一下panel2或拖着panel2才可以拖动。

如果在设计时,在panel2上放一个treeview并Align=alClient。运行后不能拖动panel2和treeview这个整体。

如果在设计时,把panel2换成treeview,会有panel2时的问题。和被拖出来时没有caption。

窗体描述:
object Form1: TForm1
......
object ControlBar1: TControlBar
Left = 0
Top = 0
Width = 536
Height = 49
Align = alTop
TabOrder = 0
OnDockOver = ControlBar1DockOver
end
object Panel1: TPanel
Left = 0
Top = 49
Width = 57
Height = 299
Align = alLeft
Caption = 'Panel1'
DockSite = True
TabOrder = 1
object Panel2: TPanel
Left = 1
Top = 16
Width = 55
Height = 282
Caption = 'Panel2'
DragKind = dkDock
DragMode = dmAutomatic
TabOrder = 0
end
end
end
窗体的过程:
procedure TForm1.ControlBar1DockOver(Sender: TObject;
Source: TDragDockObject; X, Y: Integer; State: TDragState;
var Accept: Boolean);
begin
accept:=false;
end;
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jll 2000-02-25
  • 打赏
  • 举报
回复
不能直接拖动的原因可能是没有获得焦点,设置MouseEnter时获得焦点SetFocus试试;设置对齐方式为alClient会占满整个客户区,试试用分割条也许可以解决该问题。
LittleStar 2000-02-23
  • 打赏
  • 举报
回复
用tb97吧,还有源码!
daozhao 2000-02-22
  • 打赏
  • 举报
回复
我不只是想设计Delphi那样的几个工具栏。而是想设计Code Explorer在Unit窗体中和Object Inspector可以拖入Unit窗体,Project Manager可以拖入Unit窗体或者拖入Object Inspector,这种风格。
更像WPS2000的界面。上边是CoolBar+ToolBar(这两个组件我会用),左边是TreeView(可以拖出拖入)。
Fancy 2000-02-21
  • 打赏
  • 举报
回复
為什麼不在ControlBar上直接放ToolBar
這樣可以做得和Delphi的IDE界面差不多

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧