DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年11月27日

摘要: 1.独立代码//-----------开始---------------------//#include <atlbase.h>#include <Mshtml.h>#include <winuser.h>#include <comdef.h>#include <string.h>void EnumIE(void);//处理网页void EnumFrame(IHTMLDocument2 * pIHTMLDocument2);//处理框架void EnumForm(IHTMLDocument2 * pIHTMLDocument2);// 阅读全文
posted @ 2012-11-27 21:05 DoubleLi 阅读(5079) 评论(0) 推荐(0)

摘要: 1.独立代码//-----------开始---------------------//#include <atlbase.h>#include <mshtml.h>#include <winuser.h>#include <comdef.h>#include <string.h>void EnumIE(void);//处理网页CComModule _Module; //使用CComDispatchDriver ATL的智能指针,此处必须声明#include <atlcom.h>void EnumAllElement(IH 阅读全文
posted @ 2012-11-27 21:04 DoubleLi 阅读(1286) 评论(0) 推荐(0)

摘要: void CBtnDlg::OnOK() {// TODO: Add extra validation here// 动态构建按钮代码CButton* pNewButton = new CButton();// 也可以定义为类的成员变量。CRect rcButton( 10, 10, 50, 30); // 按钮在对话框中的位置。pNewButton->Create("按钮", 0, rcButton, this, 10098);pNewButton->ShowWindow(SW_SHOW); //CDialog::OnOK();}LRESULT CBtnDlg 阅读全文
posted @ 2012-11-27 21:02 DoubleLi 阅读(1880) 评论(0) 推荐(0)

摘要: 本文讨论序列化 ActiveX 控件的方法。序列化是从持久性存储媒体(如磁盘文件)中读取或向其中写入的进程。Microsoft 基础类 (MFC) 库在 CObject 类中为序列化提供内置支持。COleControl 通过使用属性交换机制,将此支持扩展到 ActiveX 控件。通过重写 COleControl::DoPropExchange 实现 ActiveX 控件的序列化。在加载和保存控件对象期间调用此函数,以存储用成员变量或用带更改通知的成员变量实现的所有属性。用户可以对控件进行序列化以记录控件的状态。下列主题介绍与序列化 ActiveX 控件相关的主要问题:实现 DoPropExch 阅读全文
posted @ 2012-11-27 20:59 DoubleLi 阅读(1816) 评论(0) 推荐(0)

摘要: ActiveX,OLE是基于COM的一种应用,其文件后缀一般以dll和ocx结尾;ocx作为一种特殊的dll文件,具有一定的用户界面和事件响应,而dll文件只是方法和属性的集合。一、关于DLL的介绍 DLL,动态链接库,Dynamic Link Library的缩写,是一个包含函数和数据的模块集合,可以被其它应用程序共享的程序模块。DLL作为共享函数库的可执行文件,封装了一个或多个已被编译、链接的函数。多个进程可以同时使用一个 DLL,在内存中共享该 DLL 的一个副本。DLL 还有助于共享数据和资源。 它和可执行文件(.EXE文件)非常类似,他们的区别在于 DLL 中虽然包含了可执行代码却不 阅读全文
posted @ 2012-11-27 20:58 DoubleLi 阅读(11749) 评论(0) 推荐(0)

摘要: 1.COM基础 2.ActiveX控件及实现 3.ActiveX控件容器及实现 4.总结 1.COM基础 COM是一种组件开发技术, 它实际上是一种在二进制层上兼容的软件开发方法的规范. COM技术是与具体的编程语言无关的技术, 只要是支持COM开发的开发工具都可以用来进行COM应用开发, 而它们在二进制上兼容的要求由各个开发工具来实现, 绝大部分是由编译器实现的. COM的基础概念有以下几部分组成,1)接口的定义及实现, 2)IUnknown接口, 3)GUID (COM中所涉及的概念还有很多,具体的可以参阅其他资料 ). 下面分别简单的介绍它们. 1).接口的定义及实现 一个接口实际上就是 阅读全文
posted @ 2012-11-27 20:57 DoubleLi 阅读(1378) 评论(0) 推荐(0)

摘要: 摘要: 本文对COM组件中的ActiveX控件的MFC开发方法进行了介绍,讲述了用户自定义和库存属性、方法以及事件的添加方法和属性页的制作过程。使读者能够掌握基本的MFC ActiveX开发方法。 前言 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象、统一数据传输、OLE文档、属性页、永久存储以及OLE自动化等。 ActiveX控件作为基本的界面单元,必须拥有自己的属性和方法以适合不同特点的程序和向包容器程序提供功能服务,其属性和方法均由自动化服务的IDispat... 阅读全文
posted @ 2012-11-27 20:54 DoubleLi 阅读(843) 评论(0) 推荐(0)

摘要: 程序在windowsXP和Windows7 32系统下运行的好好的,今天装了一个windows7 64位系统(说明,程序本身还是32位开发的),运行时出现“0xC015000F 正在被停用的激活上下文不是最近激活的”这个错误,找了好长时间才解决,下面总结如下: 网上提到较多的方法是在调用CWinApp::InitInstance();接口后面使用afxAmbientActCtx = FALSE;我采用这个方法后确实不会出现这个问题,不过我的程序中有一些代码由于把这个变量设成false后导致不执行,所以会出现其他问题,所以放弃该方法。我采用的方式是将Debug时所有MFC异常都抛出,不让MFC. 阅读全文
posted @ 2012-11-27 17:51 DoubleLi 阅读(8427) 评论(0) 推荐(0)

摘要: 1.打开VC6.0,新建工程,选择:MFC ActiveX ControlWizard,后面步骤默认即可;2.在ClassView上,可以看到主要有**App\**Ctrl\**ProgPage几个类,其中接口主要在**Ctrl内实现,可以通过MFC ClassWizard(ctrl+w快捷键)的Automation页建立接口函数;3.接口函数是对外,因此在参数类型定义上要注意,字符我一般用LPCTSTR,如下面函数: void COnOcxCtrl::CallOcx(LPCTSTR devip) {// TODO: Add your dispatch handler code hereAfx 阅读全文
posted @ 2012-11-27 17:03 DoubleLi 阅读(2960) 评论(0) 推荐(0)