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