首页 > 编程知识 正文

ie安装activex控件(ie重新加载控件)

时间:2023-05-05 22:47:44 阅读:5322 作者:4054

我们的开发平台需要用第三方控件(ActiveX)时,一般采用的方法是,先在VC中的插入控件,VC会自动生成操作控件的类,然后创建一个控件,并处理对应的事件。如果控件接口变化,更新控件,需要重复操作且编译才能发布,比较麻烦。显然,动态加载ActiveX控件能解决这个问题。如果做过页面编程就会知道,页面脚本里边可以动态创建控件的。我们的开发平台是否也能动态创建控件呢,答案是肯定的。下面介绍一下如何动态加载ActiveX控件:

1.首先是获取到控件的GUID,可以通过配置。

2.获取控件的方法、事件等属性,方便后面的事件处理

3.采用CWnd::CreateControl创建控件实例,如果是通过脚本调用控件接口,可以将该控件添加到脚本引擎。

CreateControl原型如下:

BOOL CreateControl( REFCLSID clsid, LPCTSTR pszWindowName, DWORD dwStyle,

const POINT* ppt, const SIZE* psize, CWnd* pParentWnd, UINT nID,

CFile* pPersist = NULL, BOOL bStorage = FALSE, BSTR bstrLicKey = NULL );

4.处理控件触发的事件

重载父窗体的OnCmdMsg函数,处理对应的事件即可,OnCmdMsg原型如下:

virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra,

AFX_CMDHANDLERINFO* pHandlerInfo);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。