Поделиться через


Пример: Отображение диалогового окна с помощью команды меню

Этот раздел содержит процедуры:

  • Отображать модальное диалоговое окно с помощью команды меню.

  • Показать безрежимное диалоговое окно с помощью команды меню.

Обе процедуры выборки для приложений MFC и будут работать в приложении создается с Мастер приложений MFC.

Процедуры используют следующие имена и значения.

Элемент

Имя или значение

Приложение

DisplayDialog

Команда меню

Команда теста в меню вид. Идентификатор команды = ID_VIEW_TEST

Диалоговое окно

Диалоговое окно теста; класс = CTestDialog; файл заголовка = TestDialog.h; переменная = testdlg, ptestdlg

Обработчик команд

OnViewTest

Отображать модальное диалоговое окно

  1. Создайте команду меню. см. раздел Создание меню и пунктов меню.

  2. Диалоговое окно " создание; см. раздел Запуск редактора диалоговых окон.

  3. Добавьте класс для диалогового окна.Дополнительные сведения см. в разделе Добавление класса.

  4. В Представление классов выберите класс документа (CDisplayDialogDoc).В окне Свойства нажмите кнопку События .Дважды щелкните идентификатор команды меню (ID_VIEW_TEST) в левой панели окна Свойства и выберите Команда.В правой области щелкните стрелку вниз и выберите Добавить OnViewTest.

    Если вы добавляли команда меню к универсальному приложения MDI, выберите класс приложения (CDisplayDialogApp).

  5. Включите формулировку добавьте следующее к CDisplayDialogDoc.cpp (или CDisplayDialogApp.cpp), exist включить формулировки:

    #include "TestDialog.h"
    
  6. Добавьте следующий код в OnViewTest для реализации функции:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

Отобразить диалоговое окно modeless

  1. Выполните первые 4 шага для отображения модального диалогового окна, за исключением выбора CDisplayDialogView класс представления () в шаге 4.

  2. Правка DisplayDialogView.h:

    • Объявите класс диалогового окна, предшествующие объявление первого класса.

      class CTestDialog;
      
    • Объявите указатель к диалоговому окну после открытого раздела атрибутов:

      CTestDialog* m_pTestDlg;
      
  3. Правка DisplayDialogView.cpp:

    • Добавьте следующее включить формулировку после существовать включить формулировки:

      #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); 
      

Также см. в следующей статье базы знаний Майкрософт:

  • Q251059: Практическое руководство: Введите собственное имя класса окна для диалогового окна MFC

См. также

Основные понятия

Диалоговые окна

Безрежимные диалоговые окна и режимных