from:
通過網上查資料和自己試驗,發現以下兩種方法:
一、(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);
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);
MFC基於對話方塊程式
001 020 else if nresponse idcancel 如果對話方塊是用取消來關閉的,則 021 025 026 由於對話方塊已關閉,所以將返回 false 以便退出應用程式,027 而不是啟動應用程式的訊息幫浦。028 return false 029 因為initinstance ...
MFC 基於對話方塊 程式,如何新增狀態列
通過網上查資料和自己試驗,發現以下兩種方法 一 1 在要新增狀態列的對話方塊類的類定義中 cstatusbarctrl m statbar 2 在oninitdialog中或其它合適的訊息響應中加如下 函式可檢視msdn m statbar new cstatusbarctrl rect m rec...
MFC 對話方塊程式 模式對話方塊與非模式對話方塊
一 根據主視窗型別,mfc軟體工程可以分為以下幾種架構模型 例如 記事本和畫筆等。2 mdi multiple document inte ce 多文件介面,乙個主框架視窗下可以同時編輯多份文件。例如 vc 6.0,photoshop等軟體。3 基於對話方塊的軟體模型 主視窗是通過資源管理器,在對話...