需要使用activex控件,我使用方法大概如下:
QAxWidget *m_lvcam; //定义
//连接初始化
m_lvcam = new QAxWidget(m_parent,0);
m_lvcam->resize(200,200);
m_lvcam->setControl(QString::fromUtf8("{061A62BE-04A3-4EA2-84F9-2E3479887959}"));
m_lvcam->showNormal();
//调用
m_lvcam->dynamicCall("Connect(qint16,qint16,qint16,qint16,const LPCTSTR)",
m_nCamera,m_nPort,m_nDevice,m_nInterface,m_sServerIP);
以上都没有什么问题,现在问题是控件里有几个事件需要连接,不知道如何连接。
但是我知道在VC与delphi里是如何使用的,如下:
C++里面是如下定义的:
BEGIN_EVENTSINK_MAP(CFSWinView, CFormView)
//{{AFX_EVENTSINK_MAP(CFSWinView)
ON_EVENT(CFSWinView, IDC_LVCAMCTRL1, 103 /* CameraEvent */, OnCameraEvent, VTS_I4)
ON_EVENT(CFSWinView, IDC_LVCAMCTRL1, 104 /* ResourceChanged */, OnResourceChanged, VTS_BSTR VTS_VARIANT)
//}}AFX_EVENTSINK_MAP
ON_EVENT(CFSWinView, IDC_LVCAMCTRL1, 102, CFSWinView::CamCmdReplyLvcamctrl1, VTS_BSTR)
END_EVENTSINK_MAP()
这样就把OnCameraEvent,OnResourceChanged,CamCmdReplyLvcamctrl1 三个事件连接起来了。
在Delphi里面使用方法如下:
FLVCam: TLVCam;
FLVCam.OnCamCmdReply := OnLVCamCamCmdReply;
FLVCam.OnCameraEvent := OnLVCamCameraEvent;
FLVCam.OnResourceChanged := OnLVCamResourceChanged;
但是QT里面是怎么个使用方法,望大侠们不吝赐教。。。