給對話方塊新增選單 工具欄 狀態列簡易方法

2021-06-27 10:22:40 字數 2182 閱讀 6472

先建立乙個基於dialog 的程式,我給他起了個名字叫:dlgmenu*******。

一、如何往基於dialog的程式新增選單

[1.1] 先新增選單(idr_menu1)資源,並加上需要的選單項。

[1.2] 編輯對話方塊資源idd_dlgmenu*******_dialog的屬性,在屬性對話方塊中選擇idr_menu1即可。

[1.3] 假如您不希望在對話方塊屬性中直接設定選單,而通過**在程式中動態生成可以採用如下方法:

[1.3.1]在cdlgmenu*******dlg類聲名中新增成員變數cmenu m_menu

再在cdlgmenu*******dlg::oninitdialog() 中新增如下**: //載入選單

m_menu.loadmenu(idr_menu1);

//設定當前選單

setmenu(&m_menu);

//當你不需要選單時可以用 setmenu(null);來取消當前選單

二、如何往基於dialog的程式新增工具欄

[2.1] 先新增工具欄(idr_*******1)資源,並畫好各個按鈕。

[2.2] 在cdlgmenu*******dlg類聲名中新增成員變數 c******* m_wnd*******;

[2.3] 在cdlgmenu*******dlg::oninitdialog() 中新增如下**  //新增乙個平面工具條

if (!m_wnd*******.createex( this,tbstyle_flat ,  ws_child | ws_visible | cbrs_align_top | cbrs_gripper | cbrs_tooltips,

crect(4,4,0,0)) ||!m_wnd*******.load*******(idr_*******1) )

m_wnd*******.showwindow(sw_show);

repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, 0);

三、為工具欄新增工具提示

[3.1] 在cdlgmenu*******dlg類定義中手工新增訊息對映函式的定義,如下黑體部分   //}afx_msg

declare_message_map()

[3.2] 在cdlgmenu*******dlg.cpp新增函式的實現** //工具欄提示

bool cdlgmenu*******dlg::ontooltiptext(uint, nmhdr* pnmhdr, lresult* presult)

if (nid != 0) //不為分隔符

else

#else

if (pnmhdr->code == ttn_needtexta)

else

#endif

*presult = 0;

// 使工具條提示視窗在最上面

::setwindowpos(pnmhdr->hwndfrom, hwnd_top, 0, 0, 0, 0,swp_noactivate|

swp_nosize|swp_nomove|swp_noownerzorder); 

return true;

}return true;

}[3.3] 在cdlgmenu*******dlg.cpp中新增訊息對映,請看如下**中的黑體部分 begin_message_map(cdlgmenu*******dlg, cdialog)

//}afx_msg_map

end_message_map()

四、其它

為了使你的程式看起來更酷,還可以在cdlgmenu*******dlg::onpaint()中修改**實現dialog 填充顏色。

cpaintdc dc(this);

crect rect; 

getclientrect(rect); 

dc.fillsolidrect(rect, rgb(60,110,170)); 

五、新增狀態列

static uint indicators =   

;  void cthreaddemodlg::oninitdialog()

repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, 0);

}void cthreaddemodlg::onbutton1() 

}

給對話方塊新增選單 工具欄 狀態列

先建立乙個基於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 假...