通過網上查資料和自己試驗,發現以下兩種方法:
一、(1)在要新增狀態列的對話方塊類的類定義中 cstatusbarctrl *m_statbar;
(2)在oninitdialog中或其它合適的訊息響應中加如下**:(函式可檢視msdn)
m_statbar=new cstatusbarctrl;
rect m_rect;
getclientrect(&m_rect); //獲取對話方塊的矩形區域
m_rect.top=m_rect.bottom-20; //設定狀態列的矩形區域
m_statbar->create(ws_border|ws_visible|cbrs_bottom,m_rect,this,3);
int nparts[4]= ; //分割尺寸
m_statbar->setparts(4, nparts); //分割狀態列
m_statbar->settext("這是第乙個指示器",0,0); //第乙個分欄加入"這是第乙個指示器"
m_statbar->settext("這是第二個指示器",1,0); //以下類似
/*也可使用以下方式加入指示器文字
m_statbar.setpanetext(0,"這是第乙個指示器",0);
//在第四個分欄中加入id為idi_icon3的圖示
*********************************************/
m_statbar->showwindow(sw_show);
二、(1)在對話方塊類的.cpp原始檔的開頭加上如下**:
static uint based_code indicators=
//狀態列的指示器列表,如有未定義的字串名,需在resource view的string table中新增定義
;(2)在要新增狀態列的對話方塊類的類定義中 cstatusbarctrl m_statusbar;
(3)在oninitdialog中或其它合適的訊息響應中加如下**:
//不能是突出和無邊框風格
m_statusbar.createex(this,sbt_tooltips,ws_child | ws_visible | cbrs_bottom,afx_idw_status_bar );
m_statusbar.setindicators(indicators,sizeof(indicators)/sizeof(uint));//設定指示器數量
crect rect;
getclientrect(&rect);
m_statusbar.setpaneinfo(0,id_indicator_caps,sbps_normal,rect.width()/3);//設定指示器視窗的有關資訊
m_statusbar.setpaneinfo(1,id_indicator_num,sbps_stretch ,rect.width()/3);
repositionbars(afx_idw_controlbar_first,
afx_idw_controlbar_last,id_indicator_caps);//很重要****
m_statusbar.getstatusbarctrl().setbkcolor(rgb(180,20,180));//設定背景
m_statusbar.setpanetext(0,"指示器1",0);
m_statusbar.setpanetext(1,"指示器2",0);
VC 之對話方塊中新增狀態列
對話方塊中新增狀態列方法 通過網上查資料和自己試驗,發現以下兩種方法 一 1 在要新增狀態列的對話方塊類的類定義中 cstatusbarctrl m statbar 2 在oninitdialog中或其它合適的訊息響應中加如下 函式可檢視msdn m statbar new cstatusbarct...
VC 對話方塊中新增狀態列
1 在要新增狀態列的對話方塊類的類定義中 cstatusbarctrl m statbar 2 在oninitdialog中或其它合適的訊息響應中加如下 void c dlg installstatusbar void 安裝狀態列 void cgpsuserserverdlg installstat...
MFC對話方塊新增狀態列
方法一 1 新增string table資源,ids panel1和ids panel2的字串資源。2 新增成員變數 public cstatusbar m wndstatusbar 3 定義 static uint indicators 4 在對話方塊的初始化過程中新增以下 crect rect ...