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

发布于 2024-11-30 00:58:10 字数 434 浏览 1 评论 0原文

我在 MFC 应用程序中动态创建一些 ActiveX 控件。我想处理他们的事件,例如单击,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
}

I dynamically create some ActiveX controls in my MFC app. I want to handle their event such as click, dblclick. But I don't know what kind of message should I catch where to put the code to catch them.
I can add the event handler if I put the these control on the dialog window as I design the GUI. The code automatically added by MFC is below:

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
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧时浪漫 2024-12-07 00:58:10

如果您在编译时已经知道事件类型,但不知道控件 ID,请查看如何创建基于 MFC 的 COM 客户端中的接收器接口

If you already know the event type at compile time, but don't know the control ids, check How to create a sink interface in a MFC-based COM client

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文