與選單欄和工具欄一樣,也可以再對話方塊視窗中新增狀態列。
下面給出本次試驗的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 ...