DoModal 메서드를 호출하면 대화 상자가 즉시 표시됩니다. 하지만 페이지가로드 될 때까지 보이지 않게해야합니다. 그게 가능하니?페이지가로드 될 때까지 CDHTMLDialog를 숨기려면 어떻게합니까?
덕분에 XX
DoModal 메서드를 호출하면 대화 상자가 즉시 표시됩니다. 하지만 페이지가로드 될 때까지 보이지 않게해야합니다. 그게 가능하니?페이지가로드 될 때까지 CDHTMLDialog를 숨기려면 어떻게합니까?
덕분에 XX
안녕 당신은
OnInitDialog()
DWORD dwStyle = GetWindowLong(GetSafeHwnd(), GWL_STYLE);
dwStyle -= WS_VISIBLE;
SetWindowLong(GetSafeHwnd(), GWL_STYLE, dwStyle);
에 시작에 숨겨진 확인한 다음 OnNavigateComplete
에 표시 할 수 있습니다. 그러나 페이지가로드 할 경우 것 둔화가
//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);
}
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();
}
감사를 끊을 앱이 보인다, 그것을 작동합니다. 하지만 나는 대화 상자가 시작시에 표시되고 사라지는 것을 볼 수 있습니다. 시작하기 전에 보이지 않게 할 수 있습니까? –
@x_x 모달 또는 모덜리스 대화를 사용합니까? –
CDHTMLDialog를 기본 창으로 사용합니다. DoModal 메서드를 호출 한 이후로 아마도 모달이라고 생각합니다. –