MFC之為對話方塊視窗新增狀態列

2021-06-27 06:15:34 字數 1029 閱讀 9972

與選單欄和工具欄一樣,也可以再對話方塊視窗中新增狀態列。

下面給出本次試驗的demo

實現了乙個簡單的狀態列和視窗滑鼠位置的響應。

1.我們需要在string table中新增兩個新的id: id_indicator_x , id_indicator_y,分別用來標識狀態列的兩個窗格。

2.我們需要在dlg的標頭檔案中定義

cstatusbar m_bar;

以及在dlg.cpp中新增靜態窗格陣列

static uint based_code indicators = ;

然後在oninitdialog中建立狀態列

m_bar.create(this);

m_bar.setindicators(indicators, 2);

crect rect;

getclientrect(&rect);

m_bar.setpaneinfo(0, id_indicator_x, sbps_normal, rect.width() - 100);

m_bar.setpaneinfo(1, id_indicator_y, sbps_stretch, 0);

m_bar.getstatusbarctrl().setbkcolor(rgb(180, 180, 180));

repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, afx_idw_controlbar_first);

3.為滑鼠移動訊息新增響應函式

在建立狀態列時,一般不直接使用create函式設定狀態列的各種屬性,而使用m_bar.create(this)語句來建立,然後通過setpaneinfo()來設定屬性。

在建立狀態列後,要在對話方塊中顯示,就需要呼叫repositionbars()函式來完成控制條視窗的重新設定。

學習是個艱難的過程,堅持下去就一定會成功,讓我們一起努力吧

MFC對話方塊新增狀態列

方法一 1 新增string table資源,ids panel1和ids panel2的字串資源。2 新增成員變數 public cstatusbar m wndstatusbar 3 定義 static uint indicators 4 在對話方塊的初始化過程中新增以下 crect rect ...

MFC 基於對話方塊 程式,如何新增狀態列

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

MFC 基於對話方塊 程式,如何新增狀態列

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