在Delphi7中实现停靠功能
Delphi7中停靠功能的实现
当我们使用Delphi7开发应用系统时,经常需要使用在主窗口上停靠子窗口的功能。如果对这部分不熟悉,我们通常会去CSDN等网站寻找各种相关控件,或者参考Delphi自己的例行对接。这里给大家介绍一个简单的方法,可以一起用。
1。在主窗口中添加四个面板和四个分割器,并将它们设置为上下左右对齐。
2。将四个面板DockSite的属性设置为True。
3。OnUnDockDrop、OnDockOver和OnDock事件添加到左右面板如下:
proceduretfrmmain . pnlleftdock(sender:to object;客户端:TControl
new target:twin control;var Allow:布尔型);
begin
if(发送方为TPanel)。VisibleDockClientCount = 1,然后
begin
(发送方为TPanel)。宽度:= 1;
end;
end;
过程TfrmMain.pnlLeftDockDrop(发送方:TObject
来源:TDragDockObjectx,Y:整数);
begin
(发送方为TPanel)。宽度:=最大值(来源。浮动宽度,(发送方为TPanel)。宽度);
end;
过程TfrmMain.pnlLeftDockOver(发送方:TObject
来源:TDragDockObjectx,Y:整数;state:TDragState;
var Accept:Boolean);
begin
如果State = dsDragEnter,则
begin
(发送方为TPanel)。宽度:=最大值(来源。控制。浮动宽度,(发送方为TPanel)。宽度);
end
else
begin
if State = dsdraggleave then
begin
(发送方为TPanel)。宽度:= 1;
end;
end;
end;
左右面板响应事件代码相同。
0条评论