狀態條用於顯示一些提示字符。MFC中使用CStatusBar類來封裝狀態條控件的各種操作。通過調用
BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, UINT nID = AFX_IDW_STATUS_BAR );創建一個窗口,dwStyle中可以使用以下一些狀態條控件的專用風格:
CBRS_TOPDialog Bar在父窗口的頂部 狀態條在父窗口的頂部
TCBRS_BOTTOM 狀態條在父窗口的底部
創建一個狀態條的步驟如下:先使用Create創建窗口,然後調用BOOL SetIndicators( const UINT* lpIDArray, int nIDCount );設置狀態條上各部分的ID,具體代碼如下:
UINT uID[2]={ID_SEPARATOR,ID_INDICATOR_CAPS};
m_stabar.Create(pParentWnd);
m_stabar.SetIndicators(uID,2);
通過CString GetPaneText( int nIndex )/BOOL SetPaneText( int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE )可以得到/設置狀態條上顯示的文字。
Tip:在創建狀態條時最好將狀態條中所有的部分ID(除MFC自定義的幾個用於狀態條的ID外)都設置為ID_SEPARATOR,在生成後調用
void SetPaneInfo( int nIndex, UINT nID, UINT nStyle, int cxWidth );改變其風格,ID和寬度。
AppWizard在生成代碼時也會同時生成狀態條的代碼。所以一般是不需要直接創建狀態條對象。此外狀態條上會自動顯示菜單上的命令提示(必須先在資源中定義),所以也不需要人為設置顯示文字。
狀態條支持ON_UPDATE_COMMAND_UI的相關操作,如SetText,Enable。
在以後的章節利用AppWizard創建並使用ToolBar StatusBar Dialog Bar會給出使用的方法。