API/MFC

CPaneDialog 초기화 (OnInitDialog)

by MoA posted Jul 18, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

http://social.msdn.microsoft.com/Forums/en-US/d213a9cf-726e-4f31-9d03-050d1ac1c51d/cpanedialog-doesnt-call-handleinitdialog

http://blog.naver.com/PostView.nhn?blogId=youkgc&logNo=150082929746

 

CPaneDialog 클래스에는 OnInitDialog 가상 함수가 없기 때문에 WM_INITDIALOG 메시지를 이용한다.

 

// 헤더
virtual BOOL OnInitDialog();
afx_msg LRESULT HandleInitDialog(WPARAM, LPARAM);

// 소스
BEGIN_MESSAGE_MAP(Class, CPaneDialog)
    ...
    ON_MESSAGE(WM_INITDIALOG, HandleInitDialog)
END_MESSAGEMAP()

BOOL Class::OnInitDialog()
{
    UpdateData(FALSE);

    return TRUE;
}

LRESULT Class::HandleInitDialog(WPARAM wParam, LPARAM lParam)
{
    OnInitDialog();

    return CPaneDialog::HandleInitDialog(wParam, lParam);
}