工具條也是常用的控件。MFC中使用CToolBar類來封裝工具條控件的各種操作。通過調(diào)用
BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD WS_VISIBLE CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );創(chuàng)建一個窗口,dwStyle中可以使用以下一些工具條控件的專用風(fēng)格:
CBRS_TOP 工具條在父窗口的頂部
TCBRS_BOTTOM 工具條在父窗口的底部
CBRS_FLOATING 工具條是浮動的
創(chuàng)建一個工具條的步驟如下:先使用Create創(chuàng)建窗口,然后使用BOOL LoadToolBar( LPCTSTR lpszResourceName );直接從資源中裝入工具條,或者通過裝入位圖并指明每個按鈕的ID,具體代碼如下:
UINT uID[5]={IDM_1,IDM_2,IDM_3,IDM_4,IDM_5};
m_toolbar.Create(pParentWnd);
m_toolbar.LoadBitmap(IDB_TOOLBAR);
m_toolbar.SetSizes(CSize(20,20),CSize(16,16));//設(shè)置按鈕大尺寸和按鈕上位圖的尺寸
m_toolbar.SetButtons(uID,5);
AppWizard在生成代碼時也會同時生成工具條的代碼,同時還可以支持停靠功能。所以一般是不需要直接操作工具條對象。
工具條上的按鈕被按下時發(fā)送給父窗口的消息和菜單消息相同,所以可以使用ON_COMMAND宏進(jìn)行映射,同樣工具條中的按鈕也支持ON_UPDATE_COMMAND_UI的相關(guān)操作,如SetCheck,Enable,你可以將按鈕的當(dāng)作菜單上的一個具有相同ID菜單項。
在以后的章節(jié)4.D 利用AppWizard創(chuàng)建并使用ToolBar StatusBar Dialog Bar會給出使用的方法。