Dialog를 DoModal로 활성화시 숨긴채로 시작하는 방법.

1. 메세지 멥에 WM_WINDOWPOSCHANGING 이벤트 등록

BEGIN_MESSAGE_MAP(CAceDialog, CDialog)
    ON_WM_WINDOWPOSCHANGING()
END_MESSAGE_MAP()

2. OnWindowPosChanging 함수 수정
void CAceDialog::OnWindowPosChanging(WINDOWPOS* lpwndpos){
    if(m_bVisible != TRUE){
        lpwndpos->flags &= ~SWP_SHOWWINDOW;
    }
    CDialog::OnWindowPosChanging(lpwndpos);
}

이후 대화상자를 보이게 하려면 m_bVisible 값을 TRUE로 설정후
ShowWindow(SW_SHOW);
를 호출해주면됨.

2014/03/04 22:30 2014/03/04 22:30
태그 : ,
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다