다이얼로그 베이스에서 초기 실행시 다이얼로그 감추기

WM_WINDOWPOSCHANGING 메시지를 사용하시면 됩니다.

클래스 위자드에서 발생시키시면 되는데 아마없을거에요..

그럴땐 가장 오른쪽 Class Info에서

Message filter을 window로 바꿔줍니다..



그리고 생성된 함수에

다음과 같이 코딩하세요..



void CHideDialogDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)

{

    CDialog::OnWindowPosChanging(lpwndpos);

  

    // TODO: Add your message handler code here

    lpwndpos->flags &= ~SWP_SHOWWINDOW;

}



이렇게 하면 다이얼로그가 보이지 않습니다..물론 깜박거리지도 않습니다..

그런데..나타나게 할수도 없습니다..



따라서 나타나게 하시려면..나타나게 하는 메뉴에..

BOOL 형식으로 변수하나 지정해주시고..



    if(!m_bShowFlag)

        lpwndpos->flags &= ~SWP_SHOWWINDOW;