【发布时间】:2009-12-23 11:24:50
【问题描述】:
这是我今天的第二个问题,请原谅。
我正在编写一个包装库来与扫描仪设备通信。源代码在 C++ MFC 中。我正在将其转换为将从 C# 调用的普通 Dll。所以,我在 C# 中使用 DllImport 来调用包装库。
现在我得到了 MFC 代码,并且库是一个 ActiveX 对象,至少我是这么认为的。
class CDpocx : public CWnd
{
}
因此,在我的包装库中,我将拥有一个 CDpocx 实例,并将通过 C# P/Invoke 调用它。但问题是 CDpocx 也会引发一些我需要捕捉的事件。在传统的应用程序中,我只会附加一个功能。但是我如何将事件附加到非 MFC 类上。
我见过类似的东西:
BEGIN_EVENTSINK_MAP(CVC60Dlg, CDialog)
//{{AFX_EVENTSINK_MAP(CVC60Dlg)
ON_EVENT(CVC60Dlg, IDC_DPOCXCTRL1, 1 , OnReadyDpocxctrl1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
OnReadyDpocxctrl1是处理1(Ready)事件的函数。
如何在非 MFC 类中获得类似的功能。
问候, 马克苏德
【问题讨论】:
标签: visual-c++ mfc event-handling