我上了这个类

class CWebBrowser2 : public CWnd

我想重写OnClose到目前为止我所做的是在添加了void OnClose()的头文件中;并在我添加的.cpp文件中
void CWebBrowser2::OnClose ()
{
        int i=0;
        i++;
}

但是从不调用OnClose。

然后我试图将头文件修改为
afx_msg void OnClose();
DECLARE_MESSAGE_MAP()

并将其添加到.cpp文件
BEGIN_MESSAGE_MAP(CWebBrowser2, CWnd)
    //{{AFX_MSG_MAP(CBrowserDlg)
    ON_WM_CLOSE()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

但是仍然永远不会调用OnClose。我试图将OnDestroy更改为OnClose,但这不是任何一个。

我在做什么错的任何想法?

最佳答案

添加ON_WM_CLOSE()后,它应该可以工作。您以哪种方式关闭 window ?

在类(class)的头文件中,您是否有这一行? DECLARE_MESSAGE_MAP()

关于c++ - 重写OnClose(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3061335/

10-11 15:12