MFC對話方塊新增狀態列

2021-06-22 00:39:39 字數 1522 閱讀 5744

方法一:

1、新增string table資源,ids_panel1和ids_panel2的字串資源。

2、新增成員變數:

public:

cstatusbar   m_wndstatusbar;

3、定義

static uint indicators=

;4、在對話方塊的初始化過程中新增以下**:

crect rect;

getclientrect(rect);

if(!m_wndstatusbar.create(this)||

!m_wndstatusbar.setindicators(indicators,sizeof(indicators)/sizeof(uint)))

m_wndstatusbar.movewindow(0,rect.bottom-20,rect.right,20));

m_wndstatusbar.setpanetext(0,"x:");

m_wndstatusbar.setpanetext(1,"y:");

5、如果想自己控制狀態中每欄的長度,可以在建立字串資源的時候用空格來增加長度。

6、如果在onpaint()函式中重新裝置一下位置的話,可以隨窗體的變體而變化。

方法2:

這種方法好像不太容易實現隨窗體變化而變化。

介紹如何在對話方塊中加入狀態列,是許多的初學者想要解決的問題。本文給出了一種實現狀態列的方法,簡潔實用。

正文假設你已經建立了對話方塊應用程式,

請在對話方塊初始化的地方加入以下**,記住別忘了在類中定義乙個公有變數cstatusbarctrl * m_statusbar

//-----------**如下---------------------

m_statusbar = new cstatusbarctrl;

m_statusbar->create(ws_child|ws_visible|sbt_ownerdraw, crect(0,0,0,0), this, 0);

int strpartdim[4]= ; //分割數量

m_statusbar->setparts(4, strpartdim);

m_statusbar->settext("程式就緒",0,0); //第乙個分欄加入"程式就緒",以下類似

m_statusbar->settext("歡迎你的光臨", 1, 0);

m_statusbar->settext("哈哈你好", 2, 0);

//下面是在狀態列中加入圖示

m_statusbar->seticon(3,

false));//在第四個分欄中加入id為idi_icon3的圖示

//----------**結束---------------------

如果想改變某個分欄專案文字,請呼叫如下類似**:

m_statusbar->settext("文字內容", 2, 0);

比如,我們想改變第乙個分欄的文字內容為「程式繁忙」,**如下

m_statusbar->settext("程式繁忙", 0, 0);

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

與選單欄和工具欄一樣,也可以再對話方塊視窗中新增狀態列。下面給出本次試驗的demo 實現了乙個簡單的狀態列和視窗滑鼠位置的響應。1.我們需要在string table中新增兩個新的id id indicator x id indicator y,分別用來標識狀態列的兩個窗格。2.我們需要在dlg的標...

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