现在可用的C++编译器实现已经很丰富了,在Windows平台上的实现就有若干种,比较常用的有Visual C++ 6.0附带的C++编译器实现,和Borland C++ Builder附带的C++编译器实现。
在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功能,而只要是继承自Visual C++ 6.0组件则具有附着在dock site的功能。#t#
如果你想希望某个继承自TwinControl的组件具有dock site功能,只要把属性DockSite设置为true即可;如果你希望某个继承自TControl的组件附着在dock site上,只要把属性DragSite设置为dkDock,属性DragMode设置为dmAutomatic即可。但程序运行的时候,你就可以利用鼠标把后者组件拖到前者组件上,后者就会自动附着在前者上,完成dock动作。
下面是以两个实际例子说明在C++Builder轻松开发可Dockable的视窗和工具栏。
一.开发可Visual C++ 6.0的视窗
步骤一:新建一个工程;
步骤二:在组件面板上的Standard页,拖一个Tpanel组件到Form1上,然后把Tpanel1的Align的属性设为alTop,并且把属性DockSite设置为true;
步骤三:在组件面板上的Additonal页,拖三个Tshape组件到Form1上,并且把着三个Tshape组件的属性DragKind设置为dkDock,属性DragMode设置为dmAutomatic;
步骤四:运行程序,你就可以利用鼠标把Tshape组件dock在Tpanel组件上。二.开发可Dockable的工具栏