예: 메뉴 명령을 통해 대화 상자 표시
이 항목에는 다음 절차를 포함합니다.
메뉴 명령을 통해 모달 대화 상자를 표시합니다.
메뉴 명령을 통해 모덜리스 대화 상자를 표시합니다.
두 샘플 절차는 모두 MFC 애플리케이션용이며 MFC 애플리케이션 마법사를 사용하여 만든 애플리케이션에서 작동합니다.
프로시저는 다음 이름과 값을 사용합니다.
Item | 이름 또는 값 |
---|---|
애플리케이션 | DisplayDialog |
메뉴 명령 | 보기 메뉴의 테스트 명령 명령 ID = ID_VIEW_TEST |
대화 상자 | 테스트 대화 상자; 클래스 = CTestDialog; 헤더 파일 = TestDialog.h; Variable = testdlg, ptestdlg |
명령 처리기 | OnViewTest |
모달 대화 상자를 표시하려면
메뉴 명령을 만듭니다. 메뉴 또는 메뉴 항목 만들기를 참조 하세요.
대화 상자에 대한 클래스를 추가합니다. 자세한 내용은 클래스 추가를 참조하세요.
클래스 뷰에서 문서 클래스(CDisplayDialogDoc)를 선택합니다. 속성 창에서 이벤트 단추를 클릭합니다. 메뉴 명령(ID_VIEW_TEST)의 ID를 두 번 클릭합니다. 그런 다음 아래쪽 화살표를 클릭하고 OnViewTest 추가를 선택합니다<.>
MDI 애플리케이션의 기본프레임에 메뉴 명령을 추가한 경우 애플리케이션 클래스(CDisplayDialogApp)를 대신 선택합니다.
기존 include 문 다음에 CDisplayDialogDoc.cpp(또는 CDisplayDialogApp.cpp)에 다음 include 문을 추가합니다.
#include "TestDialog.h"
다음 코드를 추가하여
OnViewTest
함수를 구현합니다.CTestDialog testdlg; testdlg.DoModal();
모덜리스 대화 상자를 표시하려면
4단계에서 뷰 클래스(CDisplayDialogView)를 선택하는 것을 제외하고 처음 네 단계를 수행하여 모달 대화 상자를 표시합니다.
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);