2010-12-23 84 views

回答

0

嗨,你可以把它隐藏在开局

OnInitDialog() 
    DWORD dwStyle = GetWindowLong(GetSafeHwnd(), GWL_STYLE); 
    dwStyle -= WS_VISIBLE; 
    SetWindowLong(GetSafeHwnd(), GWL_STYLE, dwStyle); 

,然后在OnNavigateComplete使其可见。 但是,如果页面加载缓慢它会看起来像你的应用挂断

+0

感谢,它的工作原理。但我仍然可以看到开始时显示的对话框,然后消失。是否有可能在开始之前将其隐藏起来? – 2010-12-24 04:11:48

0
//CYourDialog.cpp 

void CYourDialog::OnWindowPosChanging(WINDOWPOS* lpwndpos) 
{ 
    //allow to hide dialog at the startup of dialog, 
    //delay the show of dialog until m_bVisible is set 
    if(!m_bVisible) 
    { 
     lpwndpos->flags &= ~SWP_SHOWWINDOW; 
    } 

    CDialog::OnWindowPosChanging(lpwndpos); 
} 

//CYourHtmlView.cpp 

void CYourHtmlView::OnDocumentComplete() 
{ 
    m_pYourDlg->m_bVisible=TRUE; 
    m_pYourDlg->ShowWindow(SW_SHOW); 
} 
0
BOOL CYourDialog::OnInitDialog() 
{ 
    DWORD dwStyle = GetWindowLong(GetSafeHwnd(), GWL_STYLE); 
    dwStyle -= WS_VISIBLE; 
    SetWindowLong(GetSafeHwnd(), GWL_STYLE, dwStyle); 
    Invalidate(); 
    CDHtmlDialog::OnInitDialog(); 
... 
    Navigate(_T("www.google.com")); 
    return TRUE; // return TRUE unless you set the focus to a control 
} 

void CYourDialog::OnNavigateComplete(LPDISPATCH pDisp, LPCTSTR szUrl) 
{ 
    DWORD dwStyle = GetWindowLong(GetSafeHwnd(), GWL_STYLE); 
    dwStyle += WS_VISIBLE; 
    SetWindowLong(GetSafeHwnd(), GWL_STYLE, dwStyle); 
    Invalidate(); 
}