vs2010提供了cmfcstatusbar用於控制狀態列的顯示,在狀態列中,可以顯示圖示、進度條、圖形動畫、更改文字的顏色和背景色、雙機相應狀態列產生訊息。
依據狀態列中出現的次序定義常量,確定修改哪乙個狀態列。
const
int nstatusicon = 0;
const
int nstatusinfo = 1;
const
int nstatusprogress = 2;
const
int nstatuslabel = 3;
const
int nstatusanimation =4;
重新修改狀態列的標識函式
static uint indicators =
;設定狀態列的格式
m_wndstatusbar.setpanestyle(nstatusicon, sbps_noborders);
m_wndstatusbar.setpanestyle(nstatusanimation, sbps_noborders);
m_wndstatusbar.setpanestyle(nstatusinfo, sbps_stretch | sbps_noborders);
m_wndstatusbar.setpanewidth(nstatusprogress, 80);
m_wndstatusbar.enablepanedoubleclick();
編輯form資源,加入需要的控制項並程式設計。
要在視類中訪問狀態列控制項,需要編寫函式getstatusbar()
cmfcstatusbar&getstatusbar () const
另外,在cmainframe中加入getstatusbar**
cmfcstatusbar&getstatusbar ()
視類的初始化,修改oninitialupdate函式並加入狀態列相關的控制項初始化**
//動畫圖標的載入
if(m_imlstatusanimation.getsafehandle()==null)
//位圖圖示的載入
if(m_bmpicon1.getsafehandle() == null)
//位圖圖示的載入
if(m_bmpicon2.getsafehandle() == null)
//載入圖示
getstatusbar().setpaneicon(nstatusicon,m_bmpicon1);
getstatusbar().settiptext(nstatusicon,_t("this is tooltip"));
進度條的啟動和停止
if(m_showprogress)
settimer(id_progress_timer,100,null);
getstatusbar().enablepaneprogressbar (nstatusprogress, progress_max);
m_showprogress= true;
m_progressbut.setwindowtextw(_t("stop progress"));
在wm_timer中加入動態進度條的控制**
if(nidevent == id_progress_timer)
getstatusbar().setpaneprogress(nstatusprogress, nprogresspos);
}動畫演示的啟動和停止
if(m_showanimation)
else
圖示的變換
if(m_nicon==0)
m_nicon= 0;
getstatusbar().setpaneicon (nstatusicon, m_bmpicon1);
背景色和顯示文字顏色的改變
m_backcolor= m_backcolorbut.getcolor();
getstatusbar().setpanebackgroundcolor(nstatuslabel,m_backcolor);
m_textcolor= m_textcolorbut.getcolor();
getstatusbar().setpanetextcolor(nstatuslabel,m_textcolor);
滑鼠雙擊狀態列訊息的建立
可以利用狀態列的id建立on_command訊息並建立處理函式,在其中相應該函式即可
最終軟體介面如下:
VS2010 狀態列資訊顯示
步驟 1 現在cmainframe類中定義 cmfcstatusbar m wndstatusbar 有mfc3字母,很多教材都使用cstatusbar 2 定義indicator指示器 static uint indicators 紅色的系統已經預定義了,新增乙個自定義的舉例 在res資源中在st...
vs2010 狀態列新增進度條
步驟 1 在cmainframe類中定義乙個變數 保護型別.cprogressctrl m progress 2 新增indicator指示器 id indicator prog 3 新增wm paint事件,新增 如下 void cmainframe onpaint else m progress...
狀態列的基本程式設計
define idc main status 101 定義狀態列控制項id include windows 通用控制項標頭檔案 init moncontrols 在 twinmain 裡載入 ctl32.dll wm create 在wm create訊息建立狀態列.int parts 5 狀態列分...