from:
1,新增選單
有多種方法
(1:在resource view中選中對話方塊屬性的 menu 屬性
(2:cmenu m_menu;
m_menu.loadmenu(idr_main_menu);
setmenu(&m_menu);
取消選單 setmenu(null);
2,新增狀態列
在標頭檔案新增 /** 狀態列*/
cstatusbar m_wndstatusbar;
。cpp檔案中新增
/** 狀態列*/
if (!m_wndstatusbar.create(this) ||
!m_wndstatusbar.setindicators(indicators,sizeof(indicators)/sizeof(uint)))
3.wm_menuselect訊息
這樣手動新增的狀態列,無法接收wm_menuselect訊息,所以我們要自己新增
on_wm_menuselect()
響應的訊息函式
/*** 選單欄選擇
*/void cfileplayerdlg::onmenuselect(uint nitemid, uint nflags, hmenu hsystemmenu)
if(nflags & mf_separator)
return ;
if(nflags & (mf_sysmenu | mf_popup))
return ;
cstring strstatustext;
strstatustext.loadstring( nitemid);
m_wndstatusbar.setpanetext(0, strstatustext);//
// sendmessage(wm_setmessagestring, (wparam)0, (lparam)(lpctstr)strstatustext);
return ;}
這樣就獲得了選單的提示內容,m_wndstatusbar.setpanetext(0, strstatustext); //將選單提示顯示在狀態列第乙個窗格。當然自己可以指定其它窗格,
如果用 sendmessage(wm_setmessagestring, (wparam)0, (lparam)(lpctstr)strstatustext);
傳送 wm_setmessagestring訊息也可實現,
需要自己新增該訊息的響應函式
如下:on_message(wm_setmessagestring, onsetmessagestring) // 訊息巨集
訊息處理函式
lresult cfileplayerdlg::onsetmessagestring(wparam wparam, lparam lparam)
else if (wparam != 0)
else
strmessage.releasebuffer();
}lpsz = strmessage;
}m_wndstatusbar.setwindowtext(lpsz); //顯示選單提示
return 0l;}
4. 這樣手動給對話方塊新增選單,不能響應選單更新命令,沒有oninitmenupopup()函式,所以需要自己實現
手動新增 on_wm_initmenupopup() // 響應選單命令更新訊息
並新增相應的訊息處理函式。
// 給對話方塊新增處理選單命令訊息的函式 命令更新
void cfileplayerdlg::oninitmenupopup(cmenu *ppopupmenu, uint nindex,bool bsysmenu)}}
} state.m_nindexmax = ppopupmenu->getmenuitemcount();
for (state.m_nindex = 0; state.m_nindex < state.m_nindexmax;
state.m_nindex++)
state.doupdate(this, true); // popups are never auto disabled.
}else
// adjust for menu deletions and additions.
uint ncount = ppopupmenu->getmenuitemcount();
if (ncount < state.m_nindexmax)
}state.m_nindexmax = ncount;}}
給對話方塊新增選單 工具欄 狀態列
先建立乙個基於dialog 的程式,名字叫 dlgmenu 一 如何往基於dialog的程式新增選單 1.1 先新增選單 idr menu1 資源,並加上需要的選單項。1.2 編輯對話方塊資源idd dlgmenu dialog的屬性,在屬性對話方塊中選擇idr menu1即可。1.3 假如您不希望...
給對話方塊新增選單 工具欄 狀態列簡易方法
給對話方塊新增選單 工具欄 狀態列簡易方法 收藏 先建立乙個基於dialog 的程式,我給他起了個名字叫 dlgmenu 一 如何往基於dialog的程式新增選單 1.1 先新增選單 idr menu1 資源,並加上需要的選單項。1.2 編輯對話方塊資源idd dlgmenu dialog的屬性,在...
給對話方塊新增選單 工具欄 狀態列簡易方法
先建立乙個基於dialog 的程式,我給他起了個名字叫 dlgmenu 一 如何往基於dialog的程式新增選單 1.1 先新增選單 idr menu1 資源,並加上需要的選單項。1.2 編輯對話方塊資源idd dlgmenu dialog的屬性,在屬性對話方塊中選擇idr menu1即可。1.3 ...