我有一个 Windows 本机 C++/Win32/MFC 对话框应用程序。我在对话框中使用 IE ActiveX 控件来呈现一些 HTML 内容。正在呈现的 HTML 包含一个按钮。该按钮有一个 onClick javascript 处理程序,如下所示。
<input type="button" id="uniqueButtonID" name="uniqueButtonName" value="blue" onClick="OnButtonClick('blue');">
当前,按钮单击由显示的 javascript 处理程序在页面中处理。这一切都有效。
相反,我想处理对话框 C++ 代码中的按钮单击。
我有一些处理对话框中其他事件的经验。例如,以下工作并允许处理文档完成事件和导航。
BEGIN_EVENTSINK_MAP(DMyDlg, CDialog)
ON_EVENT(DMyDlg, IDC_EXPLORER2, 259, DMyDlg::DocumentCompleteExplorer2, VTS_DISPATCH VTS_PVARIANT)
ON_EVENT(DMyDlg, IDC_EXPLORER2, 250, DMyDlg::BeforeNavigate2, VTS_DISPATCH VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PBOOL)
END_EVENTSINK_MAP()
这些是预定义的众所周知的事件。不知道如何将其转化为处理我在 onClick="" 部分的按钮中定义的内容。
有人知道怎么做吗?这里的动机是我在另一个 C++ 应用程序中使用了一些代码,它定义了一些业务逻辑。我想要这里使用相同的业务逻辑。目前,我每次都必须将其翻译成 Javascript。如果我可以在 C++ 代码中处理事件,我可以复制/粘贴(或通过 DLL 重新使用)并避免 Javascript 翻译阶段。