BCB开发可Dockable的工具栏和视窗

个人的理解:Dock解释为“固定在...”;

Docksite 解释为:其上的控件作为他(比如一个panel)的停靠控件;当panel拖动时,这些停靠控件作为panel的一部分进行移动,从而不会导致panel或者是停靠控件的重绘。

 

下面文章描述的是一篇介绍drag 和dock相关参数的实例:

地址:http://tpil.bokee.com/959479.html

所谓dock功能就是你可以把某些工具栏和视窗与其他工具栏或视窗结合同在一个工具栏或视窗。

在Windows视窗系统中,可Dockable的工具栏被广泛运用在很多软件和程序当中。可Dockable,即dock功能。所谓dock功能就是你可以把某些工具栏和视窗与其他工具栏或视窗结合同在一个工具栏或视窗。C++Builder的IDE所包含的工具栏以及视窗就具有dock功能。如下图所示。


工具栏的dock功能不仅使工具栏更灵活,使使用者可以随心所欲的按照自己习惯和喜欢的方式组合、摆放工具栏,而且使操作界面更美观。

  在C++Builder中开发这种具有dock功能的工具栏和视窗可以说是轻而易举的。好,现在我们就开始自己动手开发可Dockable的工具栏和视窗。Let's go!

  我们可以利用C++Builder开发出具有dock功能的应用程序。在C++Builder中,所以可视化的VCL组件都支持dock功能。这里可视化VCL组件是指所有继承自TControl以及TwinControl的VCL组件。

  基本上,要进行dock动作至少需要两个组件,一个被附着的dock site组件,另一个则是附在dock site 上的组件,C++Builder所提供的可视化组件只有继承自TwinControl的VCL组件才具有dock site功能,而只要是继承自TControl的VCL组件则具有附着在dock site的功能。

  如果你想希望某个继承自TwinControl的组件具有dock site功能,只要把属性DockSite设置为true即可;如果你希望某个继承自TControl的组件附着在dock site上,只要把属性DragSite设置为dkDock,属性DragMode设置为dmAutomatic即可。但程序运行的时候,你就可以利用鼠标把后者组件拖到前者组件上,后者就会自动附着在前者上,完成dock动作。


下面是以两个实际例子说明在C++Builder轻松开发可Dockable的视窗和工具栏。

一.开发可Dockable的视窗

  步骤一:新建一个工程;

  步骤二:在组件面板上的Standard页,拖一个Tpanel组件到Form1上,然后把Tpanel1的Align的属性设为alTop,并且把属性DockSite设置为true;

  步骤三:在组件面板上的Additonal页,拖三个Tshape组件到Form1上,并且把着三个Tshape组件的属性DragKind设置为dkDock,属性DragMode设置为dmAutomatic;

  步骤四:运行程序,你就可以利用鼠标把Tshape组件dock在Tpanel组件上。二.开发可Dockable的工具栏

步骤一:新建一个工程;

  步骤二:按照上一篇的方法用TmainMenu+TcontrolBar+TToolBar创建一个位于工具栏中的下拉式菜单;

  步骤三:接着把Tcontrolbar的属性DockSite设置为true,把TToolBar的属性DragKind设置为dkDock,属性DragMode设置为dmAutomatic;

  步骤四:运行程序,得到一个具有dock功能的工具栏,你可以把工具栏停靠在窗体(Form1)的上面,也可以把它拖出来浮动于窗体之上。如下图所示:


到此为止,们已经学会了如何开发具有dock功能的应用程序。相信你对于dock功能的应用程序已经有所了解了把

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值