Я создал приложение MFC SDI в Visual Studio 2010 и хочу открыть модальное диалоговое окно из пользовательского пункта меню в мейнфрейме меню.
После создания ресурса диалога я добавил в него класс Dialog1,Он расширен от CDialogEx.После этого я щелкнул правой кнопкой мыши на пользовательском пункте меню в мэйнфрейме / строке меню и выбрал «Добавить обработчик событий».В следующем окне я решил добавить функции для COMMAND и UPDATE_COMMAND_UI в мой диалог классов.После добавления кода для вызова диалога мой исходный файл ("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)
{
}
Я знаю, что, вероятно, допустил глупую ошибку.Спасибо за вашу помощь.