190717-2
모달리스 다이얼로그
메인 프레임에 모달리스 다이얼로그를 만들어보자.
클래스 선언
void CMainFrame::OnModalless()
{
// if 이미 객체가 있다면 포커스 else 없다면 생성
if (m_pDlg == NULL){
m_pDlg = new CScrollDlg;
m_pDlg->Create(IDD_DIALOG2, this); // this : parent setting
m_pDlg->ShowWindow(SW_SHOW);
}
else {
m_pDlg->SetFocus();
}
}
- 생성 및 포커스 주기
이후에 종료처리도 해주어야한다. X버튼 클릭시 화면에서 사라지지만 완전히 지워진건 아니다.
[WM_CLOSE]
x버튼 클릭시 발생하는 핸들러 추가
[PostNcDestroy]
창이 소멸된 후에 호출
메인프레임 불러오기
1. '#include "MainFrm.h" // 메인 프레임 헤더' 추가
2. 'CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();' 사용
void CScrollDlg::PostNcDestroy() // 최후로 호출됨
{
delete this;
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
//delete pFrame->m_pDlg;
pFrame->m_pDlg = NULL;
CDialogEx::PostNcDestroy();
}
'MFC' 카테고리의 다른 글
[MFC] Creating a square information move dialog (0) | 2019.11.08 |
---|---|
[MFC] 스크롤바 설정(제한), Using Views in Frames (0) | 2019.11.07 |
[MFC] Modal Dialog, Databinding 직접해주기 (0) | 2019.11.05 |
[MFC] SetModifiedFlag, 새파일, 직렬화, 다형성을 이용한 도형그리기 (0) | 2019.11.04 |
[MFC] 메세지 맵, 상단 메뉴 사용 등 (0) | 2019.09.24 |