2011-04-27 6 views
0

CWinApp 파생 InitInstance() 함수에서 만들고있는 간단한 모덜리스 대화 상자를 만들려고합니다.MFC : 표시하지 않고 모덜리스 대화 상자 만들기

BOOL CMyApp::InitInstance() 
{ 
    ... 
    m_pMyDialog = new CMyDialog(); 
    m_pMyDialog->Create(CMyDialog::IDD); 
    ... 
    retrun TRUE; 
} 

리소스 편집기에서 대화 템플릿을 만들었으며 WS_VISIBLE 비트가 설정되어 있지 않습니다. 내 의도 ShowWindow (SW_SHOW) 명시 적으로 호출 할 때까지 대화 표시를 피하기 위해 있지만 어떤 이유로 만들기 호출을 대화 상자를 표시합니다.

OnInitDialog()의 반환 값을 FALSE로 변경하려고했지만 작동하지 않습니다.

심지어 다른 뭔가 WS_VISIBLE 비트를 설정하는 경우 ModifyStyle() 호출하려고했습니다.

int CMyDialog::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{ 
    if (CDialog::OnCreate(lpCreateStruct) == -1) 
     return -1; 

    ModifyStyle(WS_VISIBLE, 0); 

    return 0; 

} 

그 중 하나도 작동하지 않습니다. 모든 경우에, 작성한 후에 대화 상자가 표시됩니다. 대화 상자가 표시되면 읽지 않은 대화 상자가 표시됩니다.

+0

Create (...)를 호출 한 후 ShowWindow (SW_HIDE)를 호출 할 수 있지만 대화 상자가 일시적으로 화면에 깜박이고 이상적이지 않다는 것을 알고 있습니다. – sna14

답변

2

AnimateWindow()에서 문제가 발생하여 대화 상자가 조기에 표시되고있었습니다.

+0

질문에 AnimateWindow에 대해 언급 한 적이 없어서 알아낼 수 없었습니다. 그래도 답을 찾아 주셔서 감사합니다. –

관련 문제