MFC对话框的事件处理

时间:2009-12-23 11:24:50

标签: visual-c++ mfc event-handling

这是我当天的第二个问题,原谅我。

我正在编写一个包装库来与扫描仪设备进行通信。源代码在C ++ MFC中。我正在将它转换为一个普通的Dll,它将从C#中调用。所以,我在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 (就绪)事件的函数。

如何在非MFC类中获得simmilar函数。

此致 Maksud

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您想要的,但是如果您想从C#调用ActiveX组件,您应该使用Windows Forms ActiveX Control Importer (Aximp.exe)来转换API类型库中的类型定义以进行ActiveX控件进入Windows窗体控件。

相关问题