자식 다이얼로그 생성
예) 부모 : CFirstDlg / 자식 : CChildDlg
1. 리소스 뷰에 다이얼로그를 추가 -> 편집한다. (자식 다이얼로그로 디스플레이될 것임.)
2. 추가한 다이얼로그에 클래스를 연결한다.
2-1. 추가한 다이얼로그 창을 더블 클릭
2-2. 클래스 추가 : CChildDlg
2-3. 클래스가 추가되면 ChildDlg.cpp 와 ChildDlg.h 가 생성된다. (Solution Explorer)
3. FirstDlg.h 에 ChildDlg.h 를 인클루드 한다. (#include "ChildDlg.h")
4. FirstDlg.h 의 CFirstDlg Definition 안에 CChildDlg 를 다음과 같이 선언한다.
class CFirstDlg : public CDialog
{
...
public : // 임의로 public 지정했음
CChildDlg ChildDlg;
...
}
5. FirstDlg.cpp 에서 자식 다이얼로그를 생성할 부분에 다음과 같이 코딩한다.
void CFirstDlg::func()
{
...
자식 다이얼로그 생성
{
...
ChildDlg.Create(CChildDlg::IDD, this); // this 를 사용하여 부모를 지정.
ChildDlg.CenterWindow();
ChildDlg.ShowWindow(SW_SHOW);
...
}
...
자식 다이얼로그 파괴 // 이 부분 중요함. 메모리 누수 방지, 자식다이얼로그에서 할당했던 메모리들을 해제해야 한다.
{
......
ChildDlg.DestroyWindow();
}
}
......................................................................또는 이렇게도 할 수 있다...................................................................
void CFirstDlg::func()
{
...
CChildDlg *pChDlg = new CChildDlg(this);
자식 다이얼로그 생성
{
...
pChDlg ->CenterWindow(IDD_CHILDDLG); // IDD_CHILDDLG 는 자식 다이얼로그의 ID.
pChDlg ->ShowWindow(SW_SHOW);
...
}
...
자식 다이얼로그 파괴 // 이 부분 중요함. 메모리 누수 방지, 자식다이얼로그에서 할당했던 메모리들을 해제해야 한다.
{
......
delete pChDlg ;
}
}