覆盖 OnClose()

Cru*_*lIO 6 c++ events mfc

我上了这门课

class CWebBrowser2 : public CWnd
Run Code Online (Sandbox Code Playgroud)

我想覆盖 OnClose 到目前为止我所做的是在我添加的头文件中 void OnClose(); 在 .cpp 文件中我添加了

void CWebBrowser2::OnClose ()
{
        int i=0;
        i++;
}
Run Code Online (Sandbox Code Playgroud)

但是 OnClose 永远不会被调用。

然后我尝试将头文件修改为

afx_msg void OnClose();
DECLARE_MESSAGE_MAP()
Run Code Online (Sandbox Code Playgroud)

并将其添加到 .cpp 文件中

BEGIN_MESSAGE_MAP(CWebBrowser2, CWnd)
    //{{AFX_MSG_MAP(CBrowserDlg)
    ON_WM_CLOSE()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
Run Code Online (Sandbox Code Playgroud)

但仍然永远不会调用 OnClose。我曾尝试将 OnClose 更改为 OnDestroy,但这也未调用。

关于我做错了什么的任何想法?

Bri*_*ndy 5

添加后ON_WM_CLOSE()它应该可以工作。你用哪种方式关闭窗口?

在你班级的头文件中,你有这行吗? DECLARE_MESSAGE_MAP()