티스토리 뷰

MFC

[MFC] Calling up mainframe, Modaless dialog

상추님 2019. 11. 6. 11:02
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();
}
댓글
최근에 올라온 글
최근에 달린 댓글
네이버 이웃추가
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함