舉個例子,在菜單欄中單擊“Setting”菜單下,“Hardware setting”子菜單中“Setting the printer”項(ID為ID_HARDWARESETTING_SETTINGTHEPRINTER),要彈出對話框“PrinterHWSetting”(ID為IDD_PrinterHWSetting)
對話框繼承CDialog類,類名PrinterHWSetting,h文件和cpp文件都自動生成好了。
子菜單中的那一項我也創建好事件處理程序了,CMainFrame::OnHardwaresettingSettingtheprinter()
在主界面文件MainFrm.cpp中添加了如下代碼:
void CMainFrame::OnHardwaresettingSettingtheprinter(){
PrinterHWSetting dlg;
dlg.DoModal(); }
最後生成,沒有報錯,運行程序也正常運行。但是我點開子菜單中的Setting the Printer項的時候,就是彈不出那個對話框,請問這是怎麼回事?
我創建的是單文檔程序,環境為VS2010
在你的代碼開頭加上一行
MessageBox(0, "hello", NULL, MB_OK);
或者下一個斷點,總之看看你的OnHardwaresettingSettingtheprinter()有沒有被執行。
如果沒有,用ClassWizard重新來映射一次。