VC 之對話方塊中新增狀態列

2021-04-15 04:48:26 字數 1394 閱讀 4606

對話方塊中新增狀態列方法:

通過網上查資料和自己試驗,發現以下兩種方法:

一、(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);  

VC 之對話方塊中新增狀態列

通過網上查資料和自己試驗,發現以下兩種方法 一 1 在要新增狀態列的對話方塊類的類定義中 cstatusbarctrl m statbar 2 在oninitdialog中或其它合適的訊息響應中加如下 函式可檢視msdn m statbar new cstatusbarctrl rect m rec...

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 ...