본문 바로가기
C & C++/MFC 컨트롤

[Dialog] 단일문서(SDI),다중문서(MDI),대화 상자 기반(Dialog)의 초기 처리

by izen8 2011. 3. 27.
반응형

윈도우가 뜨기 전에 해야할 작업이 있을 때가 있다.
윈도우가 뜨기 시작할 때 호출되는 함수는 단일문서(SDI), 다중문서(MDI)와 같은 함수가 호출되지만 대화 상자 기반(Dialog)의 경우는 다른 함수가 호출된다.

////////////////////////////////////////////////////////////////////////////////////////////////
단일문서(SDI), 다중문서(MDI)

    View가 Document에 처음으로 연결된후, View가 처음 뜨기전에 호출 되어짐

C***View파일

void
CStartProcessView::OnInitialUpdate()

{

    // :

    // :

    // :

}



OnInitialUpdate()와 디폴트로 선언되지 않으므로 C***View.cpp와 C***View.h파일에 추가할 필요가 있음

////////////////////////////////////////////////////////////////////////////////////////////////
대화 상자 기반(Dialog)

    WM_INITDIALOG 메세지의 의해 호출 되어짐

C***Dlg파일


BOOL CsandglassDlg::OnInitDialog()

{

    // :

    // :

    // :

}
////////////////////////////////////////////////////////////////////////////////////////////////

프로그램이 기동되어 윈도우가 표시될 때
단일문서(SDI), 다중문서(MDI)는 OnDraw(CDC* /*pDC*/)가 호출되고
대화 상자 기반(Dialog)은 OnPaint()가 호출 된다.
OnDraw나 OnPaint는 윈도우가 재표시될때도 호출되어진다.

반응형

댓글