要截获window.close(),就得截获CDHtmlDialog的WindowClosing。以下是示例代码:

// header
DECLARE_EVENTSINK_MAP()
void WindowClosing(VARIANT_BOOL IsChildWindow,
        VARIANT_BOOL *Cancel);
// cpp
BEGIN_EVENTSINK_MAP(CWebTestDlg, CDHtmlDialog)
    ON_EVENT(CWebTestDlg, AFX_IDC_BROWSER, DISPID_WINDOWCLOSING, WindowClosing, VTS_BOOL VTS_PBOOL)
END_EVENTSINK_MAP()

void CWebTestDlg::WindowClosing(VARIANT_BOOL IsChildWindow, VARIANT_BOOL *Cancel)
{
    *Cancel = TRUE;
    ShowWindow(SW_HIDE);
}

 

注意:CDHtmlDialog的ON_EVENT用的是AFX_IDC_BROWSER,CHtmlView用的是AFX_IDW_PANE_FIRST;用错了,效果就出不来了。

相关文章:

  • 2022-12-23
  • 2021-04-12
  • 2021-07-12
  • 2021-08-02
  • 2021-08-21
  • 2021-07-22
  • 2022-01-04
  • 2021-05-27
猜你喜欢
  • 2022-12-23
  • 2021-09-28
  • 2021-09-24
  • 2021-05-19
  • 2022-12-23
  • 2021-11-18
相关资源
相似解决方案