Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом разделе содержатся процедуры:
Отображение модального диалогового окна с помощью команды меню.
Отобразите немодальное диалоговое окно с помощью команды меню.
Оба примера процедуры предназначены для приложений MFC и будут работать в приложении, создаваемом с помощью мастера приложений MFC.
В процедурах используются следующие имена и значения:
| Товар | Имя или значение |
|---|---|
| Заявление | ОтобразитьДиалог |
| Команда меню | Тестовая команда в меню "Вид"; Идентификатор команды = ID_VIEW_TEST |
| Диалоговое окно | Диалоговое окно тестирования; Class = CTestDialog; Файл заголовка = TestDialog.h; Variable = testdlg, ptestdlg |
| Обработчик команд | OnViewTest |
Отображение модального диалогового окна
Создайте команду меню; см. статью "Создание меню" или "Элементы меню".
Создание диалогового окна; см. раздел "Запуск редактора диалогов".
Добавьте класс для диалогового окна. Дополнительные сведения см. в разделе "Добавление класса ".
В представлении классов выберите класс документа (CDisplayDialogDoc). В окне "Свойства" нажмите кнопку "События ". Дважды щелкните идентификатор команды меню (ID_VIEW_TEST). Затем щелкните стрелку вниз и выберите <"Добавить> OnViewTest".
Если вы добавили команду меню в мейнфрейм приложения MDI, выберите вместо него класс приложения (CDisplayDialogApp).
Добавьте следующую инструкцию include в CDisplayDialogDoc.cpp (или CDisplayDialogApp.cpp) после существующих инструкций include:
#include "TestDialog.h"Добавьте следующий код в
OnViewTest, чтобы реализовать функцию.CTestDialog testdlg; testdlg.DoModal();
Для отображения немодального диалогового окна
Выполните первые четыре действия, чтобы отобразить модальное диалоговое окно, за исключением выбора класса представления (CDisplayDialogView) на шаге 4.
Изменить DisplayDialogView.h:
- Объявите класс диалогового окна перед объявлением первого класса:
class CTestDialog;- Объявите указатель на диалоговое окно после общедоступного раздела "Атрибуты":
CTestDialog* m_pTestDlg;Измените DisplayDialogView.cpp:
- Добавьте следующую инструкцию include после существующих инструкций include:
#include "TestDialog.h"- Добавьте следующий код в конструктор:
m_pTestDlg = NULL;- Добавьте следующий код в деструктор:
delete m_pTestDlg;- Добавьте следующий код в
OnViewTest, чтобы реализовать функцию.
if (NULL == m_pTestDlg) { m_pTestDlg = new CTestDialog(this); m_pTestDlg->Create(CTestDialog::IDD, this); } m_pTestDlg->ShowWindow(SW_SHOW);