delphi 的停靠问题2
本人在写一个程序的界面要求和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;