我已经派生了 CHtmlEditCtrl,并对其进行了很少的更改。到目前为止,我还没有覆盖任何方法。
问题是,当我在此控件上调用 ShowWindow(SW_HIDE) 时,窗口本身被破坏(m_hWnd 为 NULL)。由于 CHtmlEditCtrl 是 ActiveX 控件的包装器,因此我发现当我隐藏控件时,ActiveX 对象会被释放。
有没有一种方法可以在不调用 ShowWindow 的情况下隐藏此控件,或者有一种方法可以防止窗口被破坏?
我已经派生了 CHtmlEditCtrl,并对其进行了很少的更改。到目前为止,我还没有覆盖任何方法。
问题是,当我在此控件上调用 ShowWindow(SW_HIDE) 时,窗口本身被破坏(m_hWnd 为 NULL)。由于 CHtmlEditCtrl 是 ActiveX 控件的包装器,因此我发现当我隐藏控件时,ActiveX 对象会被释放。
有没有一种方法可以在不调用 ShowWindow 的情况下隐藏此控件,或者有一种方法可以防止窗口被破坏?
这是一个已知的错误:BUG: WebBrowser Control Destroyed When Hidden。
解决方法:
::ShowWindow(m_ctlEditHtml.GetSafeHwnd(), SW_HIDE);
::ShowWindow(m_ctlEditHtml.GetSafeHwnd(), SW_SHOW);