MFC控制項之CControlBar

2021-06-20 14:28:15 字數 1275 閱讀 9141

有時候我們經常把對話方塊和檢視結合起來,做成autocad命令輸入框、photoshop浮動框之類的效果。但很奇怪的是我看過的mfc的書上都沒有特別說明過這樣的工作該如何去做,我剛接觸mfc的時候都是通過控制非模態對話方塊來模擬的,後來才知道這些工作是通過ccontrolbar的派生類來完成的。比如cdialogbar就是載入乙個已有的對話方塊資源,嵌入frame中,和檢視配合使用。

其實知道了有這麼個東西,剩下的問題都不能稱做問題了,其使用和c*******類似,可以通過

類ccontrolbar是所有控制項條類(

cstatusbar

、c*******

、cdialogbar

、crebar

和coleresizebar

) 的基類。控制項條一般是乙個在框架視窗左邊或右邊的視窗。它可以包括子項,如基於hwnd的控制項(生成和響應訊息的windows視窗)和非基於hwnd的 控制項(不是視窗,由應用**或框架**處理)。列表框和編輯控制項就是基於hwnd的,而狀態條面板和點陣圖按鈕就不是基於hwnd的。

控制項條視窗通常是父框架視窗的子視窗,並屬於框架視窗的客戶檢視區或mdi客戶。ccontrolbar物件採用父視窗客戶矩形區的引數來定位。它會通知父視窗客戶區中還有多少未占用的空間。

要了解有關ccontrolbar的更詳細的資訊,請參閱聯機文件「visual c++程式設計師指南」中的「控制項條主題」和聯機文件中的「技術指南31,控制項條」。

#include

請參閱:

c*******

,cdialogbar

,cstatusbar

,crebar

類成員

[編輯本段]

ccontrolbar類的成員

資料成員m_bautodelete非零時,在撤消windows控制項條時刪除ccontrolbar物件

屬性getbarstyle.取狀態條的風格設定

setbarstyle.修改狀態條的風格設定

getborders取狀態條的邊框值

setborders設定狀態條的邊框值

getcount返回狀態條中非hwnd成員的個數

getdockingframe.返回狀態條所在的主視窗的指標

isfloating如果狀態條是浮動型,返回非零值

calcfixedlayout以csize物件返回控制項條的大小

calcdynamiclayout以csize物件返回動態控制項條的大小

可覆蓋的函式onupdatecmdui呼叫命令ui處理函式

操作enabledocking設定狀態條為停靠狀態或浮動狀態

MFC控制項之CMonthCalCtrl

cmonthcalctrl這個控制項是月曆控制項。我使用的時候發現,xp,win7下該控制項的的大小有點不正常。情況是這樣的,我在win7上用vs2010拖放控制項位置後,在win7上執行位置是正確的,但是你在winxp下執行就會發現,控制項變樣了,月曆的星期的提示變成漢字了,在win7上就兩個字,...

MFC之Tree Control控制項

tree control顧名思義,樣子自然是長的像樹了,非常適合用來顯示有樹形結構的資訊.大部分時候我們都是用靜態方式建立控制項,因為這最簡單.直接從toolbox中拖乙個控制項放到dialog中就行了.然後要以在properties頁面設定一些屬性.如果要在 中對控制項進行操作,可以這樣得到控制項...

MFC之自繪控制項

在描繪mfc介面時,mfc自帶的控制項樣式是絕對不滿足介面的需求的。所以我們就要在mfc自帶控制項基礎上對控制項樣式進行重繪。在採用自繪前介面樣式 採用自繪後介面樣式 是不是自繪控制項後看起來正常了很多?自繪控制項的步驟 我們以做乙個關閉按鈕為例 先建立乙個mfc類繼承自cbutton。給這個類新增...