본문 바로가기

old drawer/C, C++, MFC

[MFC] 다이얼로그 동적 생성

다이얼로그 동적 생성은 쉽다. 알고보니 말이다.

 

1. 우선 프로젝트 리소스에 다이얼로그를 추가한다.

2. 해당 다이얼로그에 대해 클래스를 추가 및 연결한다.

3. 원하는 위치에 다음과 같은 소스를 추가한다.

 

==> 상황 : 메인프로그램에서 버튼 클릭이 발생한 경우, 다이얼로그 동적 생성

 

위에서 미리 만들어둔 다이얼로그 클래스가 이름이 MyDlg, 다이얼로그 ID가 IDD_MYDIALOG라고 했을 때,

 

1. <MainFrame.h>에 #include "MyDlg.h"를 추가

                          에 MyDlg *testDlg; //포인터 변수 추가

 

2. <MainFrame.cpp>파일에서 생성자에 초기화

    ex)

       CMainFrame::CMainFrame(){

testDlg = NULL; //초기화.. 안해줘도 뭐;;

}

 

3. <MainFrame.cpp>파일의 버튼클릭에 관한 해당 이벤트 함수 안에서

    ex)

      void CMainFrame::OnButtonClick()

{

     testDlg = new MyDlg;

testDlg->Create(IDD_MYDIALOG);

testDlg->ShowWindow(SH_SHOW);

}

 

CMainFrame::~CMainFrame()

{

if(testDlg)

{

delete testDlg;

testDlg = NULL;

}

}

 

끝~

 

출처 : http://blog.naver.com/delight0408?Redirect=Log&logNo=140155298992