项目中,有时候三方公司提供ocx控件调用,下面介绍如何一步步调用。
1) 在任意目录存放三方ocx并进行注册和反注册测试,先保证三方ocx能注册成功
reg.bat: regsvr32 /u C:\xxx_dir\xxx.OCX regsvr32 C:\xxx_dir\xxx.OCX unreg.bat: regsvr32 /u C:\xxx_dir\xxx.OCX
2)用vc6或vs创建mfc界面工程项目,在界面右键->插入ActiveX控件,在出来的对话框选择注册成功的三方控件名称。
3)mfc界面就会显示三方控件样子,正常是个矩形框,可以拖拽。并自动生成了三方控件的控件IDC_UCZLZZYB
4)进入mfc界面向导,选择三方控件id,增加变量,则会提示生成三方控件的包装类,包装类是继承CWnd,并有GetClsid等方法。class C_ucZLZZYB : public CWnd
class C_ucZLZZYB : public CWnd { protected: DECLARE_DYNCREATE(C_ucZLZZYB) public: CLSID const& GetClsid() { static CLSID const clsid = { 0xc3f2add4, 0xd59a, 0x4c8f, { 0x81, 0x6e, 0xff, 0x37, 0xc9, 0x5c, 0xfe, 0x9c } }; return clsid; } ... }
5)在代码中,直接调用三方控件成员变量的方法即可。
void CQdzlybdemoDlg::OnBTNReadCard() { CString req; GetDlgItemText(IDC_EDT_REQ,req); C_ucZLZZYB *zlyb = &m_zlybCtl; CString rsp = zlyb->zlReadCardNew(req.GetBuffer(0)); AfxMessageBox(rsp); rsp.Insert(0,"调用返回=>"); SetDlgItemText(IDC_EDT_RSP,rsp); }
标签:三方,控件,mfc,xxx,ocx,调用 From: https://www.cnblogs.com/zhangmo/p/16620603.html