다음을 통해 공유


예: 메뉴 명령을 통해 대화 상자 표시

이 항목에는 다음 절차를 포함합니다.

  • 메뉴 명령을 통해 모달 대화 상자를 표시합니다.

  • 메뉴 명령을 통해 모덜리스 대화 상자를 표시합니다.

두 샘플 절차는 모두 MFC 애플리케이션용이며 MFC 애플리케이션 마법사를 사용하여 만든 애플리케이션에서 작동합니다.

프로시저는 다음 이름과 값을 사용합니다.

Item 이름 또는 값
애플리케이션 DisplayDialog
메뉴 명령 보기 메뉴의 테스트 명령 명령 ID = ID_VIEW_TEST
대화 상자 테스트 대화 상자; 클래스 = CTestDialog; 헤더 파일 = TestDialog.h; Variable = testdlg, ptestdlg
명령 처리기 OnViewTest

모달 대화 상자를 표시하려면

  1. 메뉴 명령을 만듭니다. 메뉴 또는 메뉴 항목 만들기를 참조 하세요.

  2. 대화 상자를 만듭니다. 대화 상자 편집기 시작을 참조하세요.

  3. 대화 상자에 대한 클래스를 추가합니다. 자세한 내용은 클래스 추가를 참조하세요.

  4. 클래스 뷰에서 문서 클래스(CDisplayDialogDoc)를 선택합니다. 속성 창에서 이벤트 단추를 클릭합니다. 메뉴 명령(ID_VIEW_TEST)의 ID를 두 번 클릭합니다. 그런 다음 아래쪽 화살표를 클릭하고 OnViewTest 추가를 선택합니다<.>

    MDI 애플리케이션의 기본프레임에 메뉴 명령을 추가한 경우 애플리케이션 클래스(CDisplayDialogApp)를 대신 선택합니다.

  5. 기존 include 문 다음에 CDisplayDialogDoc.cpp(또는 CDisplayDialogApp.cpp)에 다음 include 문을 추가합니다.

    #include "TestDialog.h"
    
  6. 다음 코드를 추가하여 OnViewTest 함수를 구현합니다.

    CTestDialog testdlg;
    testdlg.DoModal();
    

모덜리스 대화 상자를 표시하려면

  1. 4단계에서 뷰 클래스(CDisplayDialogView)를 선택하는 것을 제외하고 처음 네 단계를 수행하여 모달 대화 상자를 표시합니다.

  2. DisplayDialogView.h 편집:

    • 첫 번째 클래스 선언 앞에 대화 상자 클래스를 선언합니다.
    class CTestDialog;
    
    • 특성 공개 섹션 뒤의 대화 상자에 대한 포인터를 선언합니다.
    CTestDialog* m_pTestDlg;
    
  3. 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);
    

참고 항목

대화 상자
모달 및 모덜리스 대화 상자