如何在MFC应用程序中捕获OLE控件事件?由创建的ActiveX控件触发

时间:2011-08-16 16:54:27

标签: c++ mfc activex ole

我在我的MFC应用程序中动态创建了一些ActiveX控件。我想处理他们的事件,例如click,dblclick。但我不知道应该抓住什么样的消息,把代码放在哪里抓住它们。 如果我在设计GUI时将这些控件放在对话框窗口上,我可以添加事件处理程序。 MFC自动添加的代码如下:

BEGIN_EVENTSINK_MAP(CButtonMsgDlg, CDialog)
    ON_EVENT(CButtonMsgDlg, IDC_CWBOOLEAN1, DISPID_DBLCLICK,   CButtonMsgDlg::DblClickCwboolean1, VTS_NONE)
END_EVENTSINK_MAP()

void CButtonMsgDlg::DblClickCwboolean1()
{
   // TODO: Add your message handler code here
}

1 个答案:

答案 0 :(得分:0)

如果您已在编译时知道事件类型,但不知道控件ID,请检查How to create a sink interface in a MFC-based COM client