資源描述:
《MFC中添加狀態(tài)欄_顯示時(shí)間》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、MFC中添加狀態(tài)欄1.首先在stringtable里添加兩個(gè)字串,ID分別為IDS_INDICATOR_MESSAGEandIDS_INDICATOR_TIME2.在你的dlg.h類里面加個(gè)CStatusBarm_bar;3.在dlg.cpp開頭加上staticUINTindicators[]={????IDS_INDICATOR_MESSAGE,????IDS_INDICATOR_TIME};4.OnInitDialog里面加上m_bar.Create(this);//Wecreatethestatusbarm_bar.SetIndi
2、cators(indicators,2);//SetthenumberofpanesCRectrect;GetClientRect(&rect);//Sizethetwopanesm_bar.SetPaneInfo(0,IDS_INDICATOR_MESSAGE,????SBPS_NORMAL,rect.Width()-100);??????m_bar.SetPaneInfo(1,IDS_INDICATOR_TIME,SBPS_STRETCH,0);//ThisiswhereweactuallydrawitonthescreenRepo
3、sitionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,????ID_INDICATOR_TIME);5.時(shí)間顯示OnInitDialog里面加SetTimer(1,1000,NULL);為你的dlg類添加WM_TIMER的響應(yīng)函數(shù),在其中添加代碼:????????CTimet1;????????t1=CTime::GetCurrentTime();????????m_bar.SetPaneText(1,t1.Format("%H:%M:%S"));????CDialog:
4、:OnTimer(nIDEvent);這樣添加的程序剛開始運(yùn)行時(shí)在時(shí)間一欄中顯示的是初始設(shè)置的字符,為了使程序在剛開始運(yùn)行時(shí)就顯示系統(tǒng)時(shí)間,可在m_bar.SetPaneInfo(1,IDS_INDICATOR_TIME,SBPS_STRETCH,0);后添加如下代碼:CTimet1;???????t1=CTime::GetCurrentTime();??????m_bar.SetPaneText(1,t1.Format("%H:%M:%S"));這樣在程序剛啟動(dòng)時(shí)就會(huì)顯示系統(tǒng)時(shí)間,然后實(shí)時(shí)更新。以上編譯完成后,可能會(huì)彈不出程序需要清理
5、解決方案,重新生成解決方案同時(shí)狀態(tài)欄顯示的是:設(shè)置字符串的時(shí)候的文字信息///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////本來(lái)以為自己對(duì)MFC有所了解的,最近再寫程序的時(shí)候才發(fā)現(xiàn),原來(lái)我對(duì)MFC一竅不通,記錄一下吧:?????????第一步、先件兩個(gè)字符串資源:IDS_STATESTRING1,IDS_STATESTRING2,
6、分別用來(lái)顯示提示信息和版權(quán)信息!?????????第二步、創(chuàng)建一個(gè)數(shù)組,分別將上面的兩個(gè)字符串資源ID寫到里面:staticUINTindicators[]={IDS_STATESTRING1,IDS_STATESTRING2};?????????第三步、再M(fèi)FC的對(duì)話框類中添加成員變量:CStatusBar??m_wndStatusBar;???????第四步、由于創(chuàng)建狀態(tài)欄要再主對(duì)話框創(chuàng)建成功以后創(chuàng)建,所以就再對(duì)話框初始化的時(shí)候添加吧!?????????到這里就創(chuàng)建好了!?????????如果要調(diào)整狀態(tài)欄每個(gè)窗格的大小可以這樣,比如
7、我要調(diào)整第一個(gè)窗格的大?。簃_WndStatusBar.SetPaneInfo(0,m_WndStatusBar.GetDlgCtrlID(),SBPS_NORMAL,650);?????????在程序中,如果要改變制定窗格中文字的化,這樣:m_WndStatusBar.SetPaneText(0,"提示:恭喜你,參數(shù)設(shè)置成功...");?????????如果出現(xiàn)字符不能正常顯示等問題的話,需要給這個(gè)控件添加Update處理函數(shù):????CRectrect;????GetClientRect(rect);????if(!m_wndSta
8、tusBar.Create(this)
9、
10、!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)))???{????