Visual c++ EventSinkMap不捕获来自CWebBrowser2的消息
我正在尝试捕获从CWebBrowser2对象发送的消息Visual c++ EventSinkMap不捕获来自CWebBrowser2的消息,visual-c++,mfc,iwebbrowser2,Visual C++,Mfc,Iwebbrowser2,我正在尝试捕获从CWebBrowser2对象发送的消息 m_WebBrowser.Create(_T(""), _T(""), WS_VISIBLE, rect, this, 1, NULL); m_WebBrowser.Navigate(_T("www.test.com"), NULL, NULL, NULL, NULL); m_WebBrowser.SetDlgCtrlID(1000); 我的EVENTSINK\u地图如下所示: BEGIN_EVENTSINK_MAP(CWebBrow
m_WebBrowser.Create(_T(""), _T(""), WS_VISIBLE, rect, this, 1, NULL);
m_WebBrowser.Navigate(_T("www.test.com"), NULL, NULL, NULL, NULL);
m_WebBrowser.SetDlgCtrlID(1000);
我的EVENTSINK\u地图如下所示:
BEGIN_EVENTSINK_MAP(CWebBrowserDlg, CDialog)
ON_EVENT(CWebBrowserDlg, 1000, DISPID_COMMANDSTATECHANGE,
CWebBrowserDlg::Test, VTS_NONE)
END_EVENTSINK_MAP()
以及必须调用的函数
:
但是,当浏览器导航到用户单击的页面时,我永远无法输入Test() 找到了。它是一些对话框的源代码。在页面上找到SetDlgCtrlID(),您将看到程序员对狡猾的SetDlgCtrlID()的评论。我没有关于MFC功能的任何正式MSDN参考。请您发表意见。如果我成功捕获这些事件,我将发布此问题的解决方案作为答案。
void CWebBrowserDlg::Test(long Command, BOOL Enable)
{
int j = 0; // so i can get a breakpoint
}