Welcome 微信登录

首页 / 软件开发 / VC.NET

COM组件设计与应用(九)——IDispatch接口for VC6.0

COM组件设计与应用(九)——IDispatch接口for VC6.0

COM组件设计与应用(九)——IDispatch接口for VC6.02009-12-24杨老师一、前言终于写到了第九回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由于 WORD、EXCEL 等 OFFICE 软件提供了“宏”的功能,就连我们使用的VC开发环境也提供了“宏”功能,更由于 HTML、ASP、JSP 等都要依靠脚本(...
COM组件设计与应用(十)——IDispatch接口for VC.NET

COM组件设计与应用(十)——IDispatch接口for VC.NET

COM组件设计与应用(十)——IDispatch接口for VC.NET2009-12-24杨老师一、前言终于写到了第十回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由于 WORD、EXCEL 等 OFFICE 软件提供了“宏”的功能,就连我们使用的VC开发环境也提供了“宏”功能,更由于 HTML、ASP、JSP 等都要依靠脚本...
COM组件设计与应用(十一)——IDispatch及双接口的调用

COM组件设计与应用(十一)——IDispatch及双接口的调用

COM组件设计与应用(十一)——IDispatch及双接口的调用2009-12-25杨老师一、前言前段时间,由于工作比较忙,没有能及时地写作。其间收到了很多网友的来信询问和鼓励,在此一并表示感谢。咳......我也需要工作来养家糊口呀......上回书介绍了两种方法来写自动化(IDispatch)接口的组件程序,一是用 MFC 方式编写“纯粹”的 IDispatch 接口;二是用 ATL 方式编写“双接口”的...
COM组件设计与应用(十二)——错误与异常处理

COM组件设计与应用(十二)——错误与异常处理

COM组件设计与应用(十二)——错误与异常处理2009-12-25杨老师一、前言程序设计中,错误处理必不可少,而且通常要占用很大的篇幅。本回书着落在 COM 中的错误(异常)的处理方法。在组件程序中,如果遇到错误,一般有两个方式进行处理。二、简单返回对于比较简单的错误,直接返回表示错误原因的 HRESULT。比如下面几个就是常见的错误值:E_INVALIDARG0x80070057参数错误E_OUTOFMEMORY0x8007000E内存错误E_NOTIM...
COM组件设计与应用(十三)——事件和通知(VC6.0)

COM组件设计与应用(十三)——事件和通知(VC6.0)

COM组件设计与应用(十三)——事件和通知(VC6.0)2009-12-25杨老师一、前言我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者;我的 COM 组件用线程方式下载网络上的一个文件,当我完成任务后,需要通知调用者;我的 COM 组件完成一个钟表的功能,当预定时间到达的时候,我需要通知调用者;... ... ... ...本回书开始话说 COM 的事件、通知、连接点......这些内容比较多,我分两次(共四回)来介绍。二...
COM组件设计与应用(十四)——事件和通知(vc.net)

COM组件设计与应用(十四)——事件和通知(vc.net)

COM组件设计与应用(十四)——事件和通知(vc.net)2009-12-25杨老师一、前言我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者;我的 COM 组件用线程方式下载网络上的一个文件,当我完成任务后,需要通知调用者;我的 COM 组件完成一个钟表的功能,当预定时间到达的时候,我需要通知调用者;... ... ... ...本回书开始话说 COM 的事件、通知、连接点......这些内容比较多,我分两次(共四回)来介绍。...
COM组件设计与应用(十五)——连接点(vc6.0)

COM组件设计与应用(十五)——连接点(vc6.0)

COM组件设计与应用(十五)——连接点(vc6.0)2009-12-25杨老师一、前言上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象)看着好复杂呀......呵呵,其实简单的紧:(注1)1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。也就是说可以有多个发生“事件”的源头。上图就有3个连接点;2、管理这些连接点的接口叫&...
COM组件设计与应用(十六)——连接点(vc.net)

COM组件设计与应用(十六)——连接点(vc.net)

COM组件设计与应用(十六)——连接点(vc.net)2009-12-25杨老师一、前言上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象)看着好复杂呀......呵呵,其实简单的紧:(注1)1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。也就是说可以有多个发生“事件”的源头。上图就有3个连接点;2、管理这些连接点的接口叫...
COM组件设计与应用(十七)——持续性

COM组件设计与应用(十七)——持续性

COM组件设计与应用(十七)——持续性2009-12-25 vckbase 杨老师一、前言我们写程序,经常需要实现这样的需求:例一、程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置,以便下次运行时保持位置不变;例二、由于程序运行时间很长,今天执行一部分,明天继续执行。那么在下次运行前要恢复前次的状态;... ... ... ...智慧的老师:以上这些需求,如何实现呢?懵懂的学生:这个简单,只要在程序退出前提取必要的信息保存到文件中,下次运行时再从文件...
COM组件设计与应用(十八)——属性包

COM组件设计与应用(十八)——属性包

COM组件设计与应用(十八)——属性包2009-12-25杨老师一、前言书接上回,本回着落在介绍属性包 IPersistPropertyBag 接口的实现方法和调用方式。属性包,是以“名称 - 值”的方式提供组件持续性的支持,而“名称 - 值”恰恰又适合于用文本方式来表现。下面的片段是在 HTML 中插入 Microsoft MonthView Control ActiveX 控件后的样式:<objec...
GDI+编程基础(一)GDI+ Vs GDI

GDI+编程基础(一)GDI+ Vs GDI

GDI+编程基础(一)GDI+ Vs GDI2009-12-25李昊一、GDIGDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行。例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的程序也能在激光打印机上工作。它把windows系统中的...
GDI+编程(二)使用画笔

GDI+编程(二)使用画笔

GDI+编程(二)使用画笔2009-12-25李昊画笔常用于绘制图形的轮廓.GDI+的画笔除了具有常见的色彩和宽度属性外,还具有对齐方式,线帽,变换方式等属性。GDI+中通过Pen类来定义画笔对象。(一)、构造与使用画笔Pen(brush, width); //用颜色与线宽构造一个画笔Pen(color, width); //用画刷与宽度构造一个画笔例子:Pen pen(Color(255, 0, 0, 0),1);//用第一个构造函数.构造宽度为1的黑色...
.NET中的自绘机制

.NET中的自绘机制

.NET中的自绘机制2009-12-25Dino Esposito每次 Microsoft 推出象 Office 或者 Visual Studio 这样拳头产品的新版本时,都会推出一些新的特性,其中包括了新的菜单样式(Menu Style)。当新的菜单样式以各自的方式集成到成品中后,第三方的开发商便会掀起一阵模仿浪潮,利用一些定制控件和组件来仿效它。如果你正在使用这些产品,那么你惟有升级到新版本才能享受提供的新的特性。否则,你的应用程序将继续使用大约十年前...
从C++到.NET:将模板映射到泛型

从C++到.NET:将模板映射到泛型

从C++到.NET:将模板映射到泛型2009-12-25 MSDN/ Stanley Lippman讨论 ISO-C++ 文本查询语言 (TQL) 应用程序到 Microsoft® .NET Framework 和 C++/CLI 的转换。特别是,我将深入讨论如何将模板和标准模板库 (STL) 映射到 .NET 泛型工具。尽管在 1991 年,我曾在贝尔实验室从事过 Cfront 3.0 版的最初模板实现,并曾极力提倡使用这些模板,但我建议不要在 ...
更新MFC中的视图,跟踪.NET Framework中的事件

更新MFC中的视图,跟踪.NET Framework中的事件

更新MFC中的视图,跟踪.NET Framework中的事件2009-12-25Paul DiLascia如何更新MFC中的视图?如何跟踪.NET Framework 中的事件?我在 MDI 程序中打算通过 CMainFrame 中的定时器事件来更新所有的子窗口。 视图用于显示许多图表。用如下的代码只能更新当前活动窗口:GetActiveWindow()->GetActiveView()->GetDocument()是否有其它的方法从 CMDI...
计算MDI子窗口数,仅显示文件夹的打开对话框

计算MDI子窗口数,仅显示文件夹的打开对话框

计算MDI子窗口数,仅显示文件夹的打开对话框2009-12-28Paul DiLascia我正在写一个 MFC 的多文档(MDI)应用。在父窗口中,我如何检查所有的MDI子窗口是否都已经关闭?如果都关闭了,那么我想在我的主窗口激活一个窗格。RameshWindows 和 MFC 不提供任何专门的函数来获取 MDI 子窗口数,但实现你想要的这个功能很容易。实际上,我可以想到半打方法来解决这个问题。你可以捕获 WM_CREATE/WM_DESTROY 消息;可...
用vc.net实现记录开关机时间的程序

用vc.net实现记录开关机时间的程序

用vc.net实现记录开关机时间的程序2009-12-28汪俊虽然现在电脑大幅降价,但是多人公用一台电脑的情况仍然不少,特别是学生一族。有时候自己由于某种需要要知道别人什么时候使用这台电脑,那该怎么办呢?去网上找一个?但是不一定符合自己的要求,不如发扬DIY精神,自己做一个。那么就用vc.net来DIY一个吧。编程思想:记录开机时间比较容易,只需要让程序随系统启动,启动时记录一个开机时间,关机时记录关机时间就可以了。在正式开始之前,首先得了解这个小程序的编...
在MFC中集成RAD.NET框架

在MFC中集成RAD.NET框架

在MFC中集成RAD.NET框架2009-12-28 Microsoft 孙辉MFC已经有十几年的历史了,然而直到今天,他仍然是Visual C++的关键组成部分。从1996年的Visual C++ 4.2至今将近8年的时间,MFC的主体特征没有出现明显的变化,依旧是“古老”的面孔,因此关于这个类库的种种评论自然是情理之中的事情了。从我个人的观点上看,MFC功能依旧健壮、强大,而且是业界少有的、稳定的、经过足够长历史考验的开发框架。...
如何从MFC应用程序中调用.NET框架

如何从MFC应用程序中调用.NET框架

如何从MFC应用程序中调用.NET框架2009-12-28 MSDN 如何发送击键到其它应用程序?关于如何通过编程来发送 Ctrl+Alt+Del 击键?如何从 MFC 应用程序中调用 .NET 框架?我想编写一个应用程序,它能通过击键将信息写到另外一个应用程序的窗体中。我是不是应该发送 WM_KEYDOWN 和 WM_KEYUP 消息?有没有更好的办法?发送 WM_KEYDOWN 和 WM_KEYUP 消息也许能行得通,但 SendInput 是专门被设...
<< 11 12 13 14 15 16 17 18 19 20 >>