現在可用的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的功能。
如果你想希望某個繼承自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的工具欄