對話方塊程式設計技巧

2021-04-01 15:20:54 字數 2014 閱讀 7232

一、如何往基於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()

四、永遠在最前面的對話方塊

void cmydlg::onactivate(uint nstate, cwnd* pwndother, bool bminimized)

}五、其它

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

cpaintdc dc(this);

crect rect; 

getclientrect(rect); 

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

對話方塊程式設計

1 對話方塊的建立 可以通過插入對話方塊資源來建立乙個對話方塊,對話方塊的建立封裝在cdialog類中,它是由cwnd類派生出來的,用來在螢幕上顯示對話方塊視窗。2 對話方塊的分類 模態對話方塊 在產生模態對話方塊時,程式先暫停執行,只能在模態對話款上進行操作,其他地方的操作不能進行。非模態對話方塊...

Visual C 程式設計技巧 訊息框和對話方塊

1.如何在視窗程式中建立訊息框 2.如何使用資源字串設定訊息框內容 3.如何在訊息框中動態顯示資源字串 4.如何設定訊息提示框的標題文字 5.如何使訊息提示框的標題右對齊 6.如何在訊息提示框中繪製 7.如何在訊息提示框中設定圖示 8.如何在訊息提示框中顯示問號圖示 9.如何在訊息提示框中設定按鈕 ...

對話方塊 訊息對話方塊

我們在使用windows系統的過程中經常會見到訊息對話方塊,提示我們有異常發生或提出詢問等。因為在軟體開發中經常用到訊息對話方塊,所以mfc提供了兩個函式可以直接生成指定風格的訊息對話方塊,而不需要我們在每次使用的時候都要去建立對話方塊資源和生成對話方塊類等。這兩個函式就是cwnd類的成員函式mes...