Posted on 2009-04-03 18:38
besterChen 閱讀(5852)
評論(0) 編輯 收藏 引用 所屬分類:
WTL/MFC/GuiLib
本來以為自己對MFC有所了解的,最近再寫程序的時候才發現,原來我對MFC一竅不通,記錄一下吧:
第一步、先件兩個字符串資源:IDS_STATESTRING1,IDS_STATESTRING2,分別用來顯示提示信息和版權信息!
第二步、創建一個數組,分別將上面的兩個字符串資源ID寫到里面:
static UINT indicators[]={IDS_STATESTRING1, IDS_STATESTRING2}; 第三步、再MFC的對話框類中添加成員變量:
CStatusBar m_wndStatusBar;
第四步、由于創建狀態欄要再主對話框創建成功以后創建,所以就再對話框初始化的時候添加吧!
CRect rect;
GetClientRect(rect);
if(!m_wndStatusBar.Create(this)|| !m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Can't create status bar\n");
return false;
}
m_wndStatusBar.MoveWindow(0,rect.bottom-20,rect.right,20));// 調整狀態欄的位置和大小
到這里就創建好了!
如果要調整狀態欄每個窗格的大小可以這樣,比如我要調整第一個窗格的大小:m_WndStatusBar.SetPaneInfo(0,m_WndStatusBar.GetDlgCtrlID(),SBPS_NORMAL,650);
在程序中,如果要改變制定窗格中文字的化,這樣:m_WndStatusBar.SetPaneText(0,"提示: 恭喜你, 參數設置成功...");
如果出現字符不能正常顯示等問題的話,需要給這個控件添加Update處理函數:
例如:在MainFrm.h中添加
afx_msg void OnUpdate1(CCmdUI *pCmdUI);
在MainFrm.cpp中添加
ON_UPDATE_COMMAND_UI(ID_INDICATOR_1(要顯示字的欄), OnUpdate1)
實現函數:
void CMainFrame::OnUpdate1(CCmdUI *pCmdUI)
{
pCmdUI->Enable();
好了,就這么多~~~