MFC對話方塊增加狀態列 以及設定狀態列滾動字幕

2021-08-26 01:36:51 字數 1145 閱讀 4267

對話方塊初始化函式 中

static uint indicators=

;crect rect;

getclientrect(rect);//獲得客戶區域大小

if(!m_wndstatusbar.create(this)||

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

uint nid,nstyle;

int nwidth1,nwidth2; //儲存ids_timer, ids_status寬度

int index1=this->m_wndstatusbar.commandtoindex(ids_all); //獲得 索引

int index2=this->m_wndstatusbar.commandtoindex(ids_timer); 獲得索引

int index3=this->m_wndstatusbar.commandtoindex(ids_status);//....

m_wndstatusbar.getpaneinfo(index2,nid,nstyle,nwidth1); //獲得索引對應的寬度

m_wndstatusbar.getpaneinfo(index3,nid,nstyle,nwidth2);//.....

this->m_wndstatusbar.setpaneinfo(index1,nid,nstyle,rect.width()-nwidth1-nwidth2-25) ;//設定 第一格的長度

repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, 0); //重新擺放控制項 因為增加狀態列之後 控制項相對位置發生變化 重新擺放才能顯示出來

str=_t(" 歡迎使用使用本軟體..........."); //使用 unicode 設定字幕文字 可以做成乙個函式動態的改變 滾動字幕的文字

m_wndstatusbar.setpanetext(0,str); //設定文字index=0處的

settimer(111,500,null); //設定定時器

下面進入 wm_timer訊息響應函式

void cmydlg::ontimer(uint nidevent)

MFC對話方塊增加狀態列 以及設定狀態列滾動字幕

對話方塊初始化函式 中 static uint indicators crect rect getclientrect rect 獲得客戶區域大小 if m wndstatusbar.create this m wndstatusbar.setindicators indicators,sizeof...

MFC對話方塊新增狀態列

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

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

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