프로그래밍 노트

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

MFC TIP

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

띠리 2007. 4. 24. 12:39

윈도우가 뜨기 전에 해야할 작업이 있을 때가 있다.
윈도우가 뜨기 시작할 때 호출되는 함수는 단일문서(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()

{

    // :

    // :

    // :

}

-      -      -      -      -      -      -      -      -      -      -      -      -      -      -

VB에서 말하자면 Form Load 정도 될 것같다.


-      -      -      -      -      -      -      -      -      -      -      -      -      -      -


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


 

Comments