進(jìn)行Visual C++ 6.0編譯實(shí)現(xiàn)功能
現(xiàn)在可用的C++編譯器實(shí)現(xiàn)已經(jīng)很豐富了,在Windows平臺(tái)上的實(shí)現(xiàn)就有若干種,比較常用的有Visual C++ 6.0附帶的C++編譯器實(shí)現(xiàn),和Borland C++ Builder附帶的C++編譯器實(shí)現(xiàn)。
在Windows視窗系統(tǒng)中,可Dockable的工具欄被廣泛運(yùn)用在很多軟件和程序當(dāng)中??蒁ockable,即dock功能。所謂dock功能就是你可以把某些工具欄和視窗與其他工具欄或視窗結(jié)合同在一個(gè)工具欄或視窗。C++Builder的IDE所包含的工具欄以及視窗就具有dock功能。如下圖所示。
工具欄的dock功能不僅使工具欄更靈活,使使用者可以隨心所欲的按照自己習(xí)慣和喜歡的方式組合、擺放工具欄,而且使操作界面更美觀。在C++Builder中開(kāi)發(fā)這種具有dock功能的工具欄和視窗可以說(shuō)是輕而易舉的。好,現(xiàn)在我們就開(kāi)始自己動(dòng)手開(kāi)發(fā)可Dockable的工具欄和視窗。Let’s go!
我們可以利用C++Builder開(kāi)發(fā)出具有dock功能的應(yīng)用程序。在C++Builder中,所以可視化的VCL組件都支持dock功能。這里可視化VCL組件是指所有繼承自TControl以及TwinControl的VCL組件。
基本上,要進(jìn)行dock動(dòng)作至少需要兩個(gè)組件,一個(gè)被附著的dock site組件,另一個(gè)則是附在dock site 上的組件,C++Builder所提供的可視化組件只有繼承自TwinControl的VCL組件才具有dock site功能,而只要是繼承自Visual C++ 6.0組件則具有附著在dock site的功能。#t#
如果你想希望某個(gè)繼承自TwinControl的組件具有dock site功能,只要把屬性DockSite設(shè)置為true即可;如果你希望某個(gè)繼承自TControl的組件附著在dock site上,只要把屬性DragSite設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic即可。但程序運(yùn)行的時(shí)候,你就可以利用鼠標(biāo)把后者組件拖到前者組件上,后者就會(huì)自動(dòng)附著在前者上,完成dock動(dòng)作。
下面是以兩個(gè)實(shí)際例子說(shuō)明在C++Builder輕松開(kāi)發(fā)可Dockable的視窗和工具欄。
一.開(kāi)發(fā)可Visual C++ 6.0的視窗
步驟一:新建一個(gè)工程;
步驟二:在組件面板上的Standard頁(yè),拖一個(gè)Tpanel組件到Form1上,然后把Tpanel1的Align的屬性設(shè)為alTop,并且把屬性DockSite設(shè)置為true;
步驟三:在組件面板上的Additonal頁(yè),拖三個(gè)Tshape組件到Form1上,并且把著三個(gè)Tshape組件的屬性DragKind設(shè)置為dkDock,屬性DragMode設(shè)置為dmAutomatic;
步驟四:運(yùn)行程序,你就可以利用鼠標(biāo)把Tshape組件dock在Tpanel組件上。二.開(kāi)發(fā)可Dockable的工具欄