1
我已經在Visual Studio 2010中創建了一個MFC SDI應用程序,並且想要從菜單主框架中的自定義菜單項中打開一個模式對話框。MFC - 如何從菜單主框架調用對話框
創建對話框資源後,我向它添加了一個名爲Dialog1的類。它從CDialogEx擴展而來。之後,我右鍵單擊主機/菜單欄中的自定義菜單項並選擇「添加事件處理程序」。在下面的窗口中,我選擇將COMMAND和UPDATE_COMMAND_UI的函數添加到我的類Dialog中。添加代碼調用對話框我的源文件(「Dialog1.cpp」)後是這樣的:
#include "stdafx.h"
#include "MFCtest.h"
#include "Dialog1.h"
#include "afxdialogex.h"
IMPLEMENT_DYNAMIC(Dialog1, CDialogEx)
Dialog1::Dialog1(CWnd* pParent /*=NULL*/)
: CDialogEx(Dialog1::IDD, pParent)
{
}
Dialog1::~Dialog1()
{
}
void Dialog1::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(Dialog1, CDialogEx)
ON_COMMAND(ID_DIALOG_D1, &Dialog1::OnDialogD1)
ON_UPDATE_COMMAND_UI(ID_DIALOG_D1, &Dialog1::OnUpdateDialogD1)
END_MESSAGE_MAP()
void Dialog1::OnDialogD1()
{
Dialog1 dlg;
dlg.DoModal();
}
void Dialog1::OnUpdateDialogD1(CCmdUI *pCmdUI)
{
}
我知道我proably犯了一個愚蠢的錯誤。謝謝你的幫助。
謝謝,這有很大的幫助。 – 2012-03-09 05:47:46