
ActiveX
liangjisheng
https://github.com/liangjisheng
展开
-
ActiveX工程中使用CComPtr
#include <atlbase.h>包含了这个头文件后CComPtr还是显示的未定义,总是编译不通过,提示CComPtr是未声明的标识符。但我在MFC,控制台工程里面,都是可以用的,难道ActiveX工程这样用还有特殊要求?using namespace ATL;,我加上这句话后就可以使用了。MFC 添加了一个宏,好像叫 _ATL_NO_AUTOMATIC_NAMESPACE 。这样,原创 2017-05-16 08:53:48 · 931 阅读 · 0 评论 -
注册OCX控件
如果不准备采取手动注册的方法,而控件程序又不是我们编写的,我们可以在自己的应用程序中用下面的代码来注册ocx控件 其中“pszDllName”是控件的库文件名称,如“Clock.ocx”。BOOL RegisterOcx(LPCSTR pszDllName){HRESULT (STDAPICALLTYPE * lpDllEntryPoint)(void);LPCSTR pszDllEntry原创 2017-07-09 20:34:29 · 633 阅读 · 0 评论 -
CLSIDFromProgID
此函数的功能是根据给定的程序标识符从注册表找出对应的类标识符 。头文件 Objbase.h 库文件 Ole32.lib 动态连接库 Ole32.dll 在HKEY_CLASSES_ROOT根键下查询,相反的,ProgIDFromCLSID才是从CLSID子键下去处获取ProgID。ocx发生灾难性故障 MFC 编写OCX 控件,必须在 C****Ctrl 类覆盖父类方法 BOOL IsI原创 2017-06-02 17:24:50 · 2346 阅读 · 0 评论 -
带界面的OCX
如果想要创建带界面的ocx,首先需要创建对话框资源及其关联的类。在控件工程里的CxxxCtrl这个类上响应WM_CREATE,如果你创建的对话框类是CDlg,那么在CxxxCtrl类的头文件里面定义CDlg m_dlg;然后在上面的OnCreate()里面调用m_dlg.Create(),在控件创建的时候创建对话框。然后响应控件的WM_SIZE函数在OnSize()函数里面将对话框(界面)显示原创 2017-05-20 08:07:53 · 1507 阅读 · 1 评论 -
CreateControl
void CTest0515Active_1Dlg::OnBnClickedButtonLoadOcx(){ CRect rc; GetClientRect(&rc); rc.left = rc.right / 4; rc.right = rc.right * 3 / 4; rc.top = rc.bottom / 4; rc.bottom = rc原创 2017-05-19 20:46:19 · 285 阅读 · 0 评论 -
HTML调OCX
在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中;将该控件下载给用户;在用户机器上安装该控件。如果只是针对IE用户,在HTML中插入ActiveX控件就比较简单;如果同时兼顾IE和Netscape用户,则要做更多工作。大家知道,HTML文件由文本和各种标志 (tags)组成,ActiveX 控件对于IE在HTML中的标志是<OBJECT>,该标记有几个重要的参数特转载 2017-05-19 20:41:32 · 1400 阅读 · 0 评论 -
ocx基础
一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题。在有特殊需求(如涉及数据安全的金融业务数据交互、需插件才能实现的与本地设备的交互等)的情况下可以酌情慎用。 浏览器插件总体可以划分为两大阵营,即IE支持的插件以及非IE支持的插件。本来在Netscape时代,对于浏览器插件是有公用的规范的(NPAPI),一开始所有浏览器都支持该原创 2017-05-19 19:57:55 · 473 阅读 · 0 评论 -
ocx调试
1、其他应用程序调用调试 项目-》属性-》调试-》在命令行中输入调用它的.exe文件路径 运行ocx即可调试运行2、浏览器调试 项目-》属性-》调试-》在命令行中输入浏览器程序的地址,在命令参数中输入调用的具体页面 eg:命令:C:\Program Files\Internet Explorer\iexplore.exe 命令参数:D:\test.h原创 2017-05-19 09:42:18 · 854 阅读 · 0 评论 -
带界面的ActiveX控件
http://blog.youkuaiyun.com/wangzhiyang925/article/details/38715605转载 2017-05-16 13:58:02 · 1429 阅读 · 0 评论 -
CreateControl
bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent){ CLSID clsid; wstring strClsid = _T("{126983A5-3415-4A3F-B2C6-D18DDF6E43B9}"); // 控件id号 CCOMHelper COMHelper; COMHelpe转载 2017-05-16 12:49:41 · 1097 阅读 · 0 评论 -
CreateControl
// CWnd m_ActiveCtrl;// int m_nID;void CTest0515Active_1Dlg::OnBnClickedButtonLoadOcx(){ CRect rc; GetClientRect(&rc); rc.left = rc.right / 4; rc.right = rc.right * 3 / 4; rc.top原创 2017-05-16 12:48:10 · 882 阅读 · 0 评论 -
c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。  转载 2018-03-06 19:13:36 · 207 阅读 · 0 评论