DockTabSet 再探 停靠



XE6实现停靠窗体效果

LeftDockTabSet 

左侧边栏


LeftDockPanel

停靠窗体容器


TSplitter

拖动


TForm

停靠窗体(树列表)


TFormMain

主窗体


新建树列表窗体

procedure TMainForm.dockform1Click(Sender: TObject);
begin
  frmDockform1.Create(Application);
  frmDockform1.ManualDock(LeftDockTabSet);
  frmDockform1.Show;
end;
procedure TFrmMain.LeftDockTabSetTabAdded(Sender: TObject);
begin
  //点了最小化,窗体自动隐藏消失,侧边栏显示
  LeftDockTabSet.Visible := true;
end;
procedure TFrmMain.LeftDockTabSetTabRemoved(Sender: TObject);
begin
   //窗体固定 钉住   侧边栏消失
  // dockTabSet当标签页移除时隐藏LeftDockTabSet
  // 如果不隐藏,左侧一直有白边
  LeftDockTabSet.Visible := LeftDockTabSet.Tabs.Count > 0;
end;
procedure TFrmWeeklogDisp.pnlDockLeftDockDrop(Sender: TObject; Source: TDragDockObject; X, Y: Integer);
begin
  if (pnlDockLeft.Width = 0) then
    pnlDockLeft.Width := 150;
  Splitter1.Visible := true;
  Splitter1.Left := pnlDockLeft.Width;//没有这句固定窗体后无法左右拉伸伸缩啊
end;
procedure TFrmWeeklogDisp.pnlDockLeftUnDock(Sender: TObject; Client: TControl; NewTarget: TWinControl; var Allow: Boolean);
begin
  if (pnlDockLeft.DockClientCount = 1) then
  begin
    pnlDockLeft.Width := 0;
    Splitter1.Visible := true;
  end
end;

停靠属性设置





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值