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