Welcome 微信登录

首页 / 软件开发 / C++

组件对象模型的规则

组件对象模型的规则

组件对象模型的规则2010-06-24摘要本文的目的是为使用和实行Microsoft的组件对象模型(COM)提供迅捷的参考。读者若想更好的理解什么是COM,以及隐藏在它的设计及体系中的动机,应该阅读组件对象模型的技术说明书(MSDN库,技术说明书)。规则1:必须实现Iunknown如果一个对象没有至少实现一个最小程度为IUnknown的接口,那它就不是Microsoft的组件对象模型(COM)。接口设计规则接口必须直接或间接地从IUnknown继承。接口必...
在VC++工具栏按钮上添加文本标签

在VC++工具栏按钮上添加文本标签

在VC++工具栏按钮上添加文本标签2008-01-19一、前 言对于工具栏,我想大家一定不陌生,它直观,使用方便,它给应用程序的用户带来极大的方便.对VC++程序员来说,为自己开发的软件加上一个工具栏并不难,几乎每本介绍VC++的书都少不了介绍这方面的内容,并且,如果在开发初期就想加入工具栏的话,就更简单了,MFC 可自动为您生成工具栏.可是我们所说的这些工具栏都有一个共同的特点,它们的每个工具按钮上只有一个位图直观地向用户显示它的功能,将鼠标移动到某个工...
C++编码中减少内存缺陷的方法和工具

C++编码中减少内存缺陷的方法和工具

C++编码中减少内存缺陷的方法和工具2010-06-24 vc知识库 程振林 方金云 唐志C++语言是桌面系统,尤其是系统软件、大型应用软件的主流开发语言。C++语言以其灵活性著称,同时也更复杂。利用C++编写健壮的代码,更具有挑战性。C++允许动态内存管理, 同时也容易导致更多和内存相关的问题。一般而言, 除了系统设计上的缺陷, 基于C++的软件的缺陷和错误大部分都和内存缺陷(主要包括内存访问错误和内存泄漏两类)相关。 所以,消除代码中的内存相关缺陷,成...
VC定制编辑框的上下文菜单

VC定制编辑框的上下文菜单

VC定制编辑框的上下文菜单2008-01-19上下文菜单的应用在基于Windows的应用程序中使用得越来越广泛。本文针对WM_INITMENUPOPUP消息的处理机制谈谈如何在编辑框控制的上下文菜单上添加自己的菜单项。刚开始的时候常常碰到一个问题,就是在编辑框上单击鼠标右键时,程序并不产生WM_INITMENUPOPUP消息,原因我也说不清楚,也没有找到说明这个问题的具体文档资料。每当我子类化编辑框控制向标准的上下文菜单添加自己的菜单项时(如图二),图二总...
在预先定义的内存位置构造一个对象

在预先定义的内存位置构造一个对象

在预先定义的内存位置构造一个对象2010-06-24赵湘宁常常有人问这样一个C++问题:如何在预先定义的内存位置构造一个对象?在预先定义的内存缓冲构造一个对象有许多有用的应用。例如,一个定制的垃圾搜集器能使用一个大的预分配内存缓冲,用户在这个缓冲中构造其对象。当不再需要这些对象时,它们的存储空间被自动收回。这个技术在重视时间的应用中也很有用。在预先分配的内存缓冲构造一个对象是一种“时间常量”操作,之所以这样说是因为程序分配操作本身不...
如何定制对话框系统菜单

如何定制对话框系统菜单

如何定制对话框系统菜单2008-01-19North Tibet背景系统菜单是每个 Windows 程序的标准特性。通常系统菜单由 Windows 系统来管理,所以我们平时编成时很少去碰它。但是,有的时候,我们确实想定制自己的系统菜单项。这样就涉及到定制菜单的处理问题,因为 Windows 无法自动处理我们定制的系统菜单。而且,系统菜单的处理方式与常规的菜单处理是不同的。那么我们如何实现定制的系统菜单呢?相信看完本文的介绍,你会得到满意的答案。本文例子是一...
C++中的模板(template)

C++中的模板(template)

C++中的模板(template)2010-06-24张笑猛网上我最喜欢的技术文章是类似某何君所著“CVS快速入门”或者“UML reference card”之类,简短扼要,可以非常快的领着你进入一个新天地。而对于比较长的文章我通常是将其保存到硬盘上,然后准备着“以后有时间”的时候再看,但它们通常的命运都是“闲坐说玄宗”,直到某一天在整理硬盘时将它们以&ldq...
自绘菜单的实现

自绘菜单的实现

自绘菜单的实现2008-01-19querw在VCKBASE上读到《一种漂亮的自绘菜单》 [作者:郑恒 (lbird)]。应用到我的工程里后发现:文章中提到的效果能很好的实现。但是有一点不方便:需要映射 WM_DRAWITEM 和 WM_MEASUREITEM 消息才能实现自画功能。这对于一个基于对话框的工程或者仅仅需要弹出式菜单的工程来说很不方便。网上有一种很有名的自绘菜单 :BCMenu (http://www.rocscience.com/~cork...
在ActiveX控件中引入窗体技术

在ActiveX控件中引入窗体技术

在ActiveX控件中引入窗体技术2010-06-24一、引入Dialog技术下面介绍在制作ActiveX控件时引入有模式对话框技术,制作步骤如下:创建一新的MFC ActiveX ControlWizard项目,取名为Hello,其他用缺省选项;在ResourceView页中新增一对话框资源,命名为IDD_HELLODIALOG,可以在对话框上放自己的控件;为对话框资源IDD_HELLODIALOG创建新类CHelloDialog,从CDialog继承;...
MFC应用程序中的菜单提示信息

MFC应用程序中的菜单提示信息

MFC应用程序中的菜单提示信息2008-01-19Paul DiLascia 我正在做一个历时很久的项目。出于某些原因,项目启动之初我们实现了自己的弹出式菜单。当工具提示信息出现之后,我们将这个功能引入了我们自己的菜单,以便当用户将鼠标停留在某个菜单项上的时候,能够出现相应的提示信息。这一功能对于我们的用户来说非常重要,因为 用它可以解释为什么某个菜单项是被禁用的。由于我们的用户对 Windows 平台越来越熟悉,他们想要外观上更标准的菜单。现在我们使用了...
完美实现真彩自绘菜单

完美实现真彩自绘菜单

完美实现真彩自绘菜单2008-01-19 VC知识库 阿福一、提出问题在VCKBASE上读到《自绘菜单的实现》[作者:querw]。应用的我自己的正在进行的工程后发现效果不错,可是有存在许多问题。整个类的设计方面存在很多缺陷(先天,后天的),存在的主要问题如下: 当应用在多文档界面(MDI)中的时候,无法对系统自动添加菜单和文档模板菜单进行自绘(比如无法对文件->最近文件(MRU)菜单项中的文件列表就是系统自动添加)。原因是类内部没有对CMainFr...
我使用过的一些校验函数

我使用过的一些校验函数

我使用过的一些校验函数2010-07-03 51cto hello_worldsha1:openssl提供了sha1的库,在安装openssl之后可以直接调用sha1。MD5:函数原型见附件,其中static void MDFile (filename)是对文件进行MD5校验的,static void MDString (inString)是对字符串进行MD5校验的。可以直接使用,也可以封装成库后在调用,值得注意的是,需要将源码中函数定义中的static去...
三个函数实现框架菜单自绘

三个函数实现框架菜单自绘

三个函数实现框架菜单自绘2008-01-19 VC知识库 在VCKBASE看到的自绘菜单都是派生出一个新类,其实不用这么麻烦,添加三个函数即可实现框架菜单自绘,方便简单,易于维护。在MFC中,如果菜单带有MF_OWNERDRAW标志,程序就会调用OnDrawItem和OnMeasureItem函数来绘制菜单。下面就让我们来动手吧!首先在CMainFrame响应三个消息,分别是:WM_DRAWITEM:绘制菜单的样式WM_MEASUREITEM:指定要绘制菜...
一个简易网络嗅探器的实现

一个简易网络嗅探器的实现

一个简易网络嗅探器的实现2010-07-03何忠龙 顾丽娜摘要:本文介绍一个用C语言和网络数据包分析开发工具实现的简易网络Sniffer。关键词:网络;数据包;Sniffer引言目前,已经有不少的Sniff工具软件,如Windows环境下,最富盛名的工具是Netxray和Sniffer pro,用它们在 Windows环境下抓包来分析,非常方便。在UNIX环境下如Sniffit,Snoop,Tcpdump,Dsniff 等都是比较常见的。这里介绍一个用C语...
<< 211 212 213 214 215 216 217 218 219 220 >>