2010年5月20日
摘要: MFC简单打印方法通过MFC来完成打印作业有很多的方法,应用场合也有所不同。我们通常是利用视图框架在MFC基础之上按照OnPreparePrinting()àOnBeginPrinting()?àOnPreprareDC()àOnPrinting()àOnEndPrinting()的顺序来编程的。对于我们使用单文档或者多文档的视图框架时这无疑是一种很好的方式。但是,在基于对话框的应用程序中,或者在很多打印要求不高的情况下(如只是简单的打印中间计算结果、报告程序异常等),我们就没有必要再绕上面的那么一个大弯子,可以直接利用MFC封装的打印对话框CPrint 阅读全文
posted @ 2010-05-20 16:23 一个人的天空@ 阅读(1334) 评论(0) 推荐(0) 编辑
摘要: MFC中自由使用自定义消息消息映射、循环机制是Windows程序运行的基本方式。VC++MFC中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFCClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤:第一步:定义消息。推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。#defineWM_MY_MESSAGE(WM_USER+100)第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。 阅读全文
posted @ 2010-05-20 16:19 一个人的天空@ 阅读(2753) 评论(0) 推荐(0) 编辑
摘要: 在VC++6.0中用MFC进行COM编程首先应当明确,MFC中是通过嵌套类而不是多重继承来实现COM接口的,通过接口映射机制将接口和实现该接口的嵌套类关联起来;MFC中提供一套简明的宏来实现嵌套类的定义.其次,MFC通过CCmdTarget类实现了IUnknown接口。本文首先描述创建一个COM服务器的步骤和核心代码.然后说明客户程序关键代码。此COM服务器实现一个TimeLogServer组件,为简明起见,此组件只有一个接口ITimeLog,通过ITimeLog的方法OutputLog可以将日志文本输出至日志文件。创建一个MFCDLL工程,选择支持Automation(当然本程序不一定是自动 阅读全文
posted @ 2010-05-20 16:17 一个人的天空@ 阅读(2485) 评论(0) 推荐(0) 编辑
摘要: 进入MFC讲坛的前言(一)在这里,我想谈谈自己学习MFC的一些体会。我是从1997年才开始在Window下编写程序的。在这之前,我编写过一些DOS程序,包括一个简单的全屏幕编辑器和一个带函数的表达式解释器,都是一些小的程序。Window3.1流行后,我开始在它下面编写程序。从编写DOS程序到编写Window程序,需要从编程思想上作一个比较大的调整。在DOS下编写程序,程序的总体流程完全由应用程序自己控制;但在Window下,程序的总体流程是由操作系统控制的,这一点对在DOS下“胡作非为”的DOS程序员而然,特别不习惯,思想上一时很难转过弯来,总觉得操作系统所控制的应用程序流程能够满足我们所提出 阅读全文
posted @ 2010-05-20 16:13 一个人的天空@ 阅读(3043) 评论(0) 推荐(1) 编辑
摘要: VC实现对不同信号波形相似程度的判别摘要:本文介绍了利用相关对信号波形进行相似程度的判别方法。通过该技术可以对采集到的多种类型的数据信号间的相似度进行判别。本算法由MicrosoftVisualC++6.0实现。一、引言在工程上我们经常要判断某设备产生的实际波形信号是否能同预先设计的相拟合,但由于实际产生的波形不仅仅是简单的正、余弦波形,而往往是含有较丰富频率分布的不规则波形,而设备元器件本身及外界的电磁干扰又不可避免的引入了干扰噪声,就为我们分析其与预先设计波形的拟合程度的判别增加了困难。另外,实际波形和预先设计波形间往往存在着时序上的差别,相位的改变同样也不利于信号的拟合判别。本文利用高等 阅读全文
posted @ 2010-05-20 16:04 一个人的天空@ 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 二.具体程序实现a)基于子块颜色直方图方法的程序实现:将图片分成4×4格局,按从左到右、从上到下的顺序,分别计算各子块的颜色直方图,因此需要设定一个三维数组,前两维为子块的坐标,最后一维为颜色级,但现在采样得到的象素点的颜色值是RGB形式的,因此,需要将RGB形式转换为可以用比较合理的有限数表示的颜色级,而人眼对亮度是最为敏感的,因此可以将RGB转换为亮度值Y,公式为:Y=R×0.299+G×0.587+B×0.114这样就确定的一个256级的颜色级别,而统计颜色直方图的三维数组就可以定义为:intColor[4][4][256],当采样到某一颜色级时候 阅读全文
posted @ 2010-05-20 16:03 一个人的天空@ 阅读(1848) 评论(0) 推荐(0) 编辑
摘要: 利用VC实现图像的特殊显示效果经常看电视的朋友们不知注意到没有,最近的电视连续剧在每集片头或片尾部分都有显示一些特殊效果的图像,比如前一阵子中央一套放的《长征》、目前中央八套正在播放的《康熙王朝》,这些特效称为"图像的浮雕效果"和"图像的雕刻效果",经过这些特效处理后的图像增强了观众们的视觉效果,它们看上去仿佛是使用3D技术作的,这也是为什么这种技术那么流行的原因吧。其实,我们完全可以用一些简单的数字图像处理算法来实现这些看似复杂高深的显示效果。我们手头上的一些关于利用VC开发数字图像资料大都是讲解如何控制图像的每一行或每一列像素的显示时间或顺序来实现一 阅读全文
posted @ 2010-05-20 16:01 一个人的天空@ 阅读(1313) 评论(1) 推荐(1) 编辑
摘要: VisualC++实现Flash动画播放摘要:本文通过在VC中将外部swf格式文件内嵌为VC的内部资源,使其在程序运行过程中从资源动态释放到临时文件,从而实现VC对Flash动画的播放。引言Flash动画由于可以很方便地把用户的想象通过动画显现出来,使原本只属于专业制作人员的动画制作变的异乎寻常的快捷、方便。由于Flash制作的动画在层次、内容、表现形式等诸多方面均比较出色,因此在网络上得到迅猛的发展,更有不少厂商用Flash在互联网上做起了广告和产品演示,效果丝毫不比视频的差,而体积则要小的多。Flash不仅在网络上有广泛的应用,在普通的应用程序中也可以借助Flash实现一些VC、Delph 阅读全文
posted @ 2010-05-20 15:47 一个人的天空@ 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: 如何在VC5下定制多媒体真彩封页在自己的应用程序定制多媒体真彩封页,可以使应用程序在显示名称和版权特性时丰富程序界面,避免由于应用程序启动前进行大量数据初始化时用户进行较长时间的空等待过程,在给应用程序增加了生动特性和专业特性的同时,也起到了宣传和广告的作用。虽然VC5中具有特定的类来实现这一功能,但通过定制自己的应用程序多媒体启动封页,还可使自己的应用程序别具一格。VC5中的实现步骤:1.制作封页位图:制作应用程序多媒体启动封页真彩位图,记录位图的高度和宽度,建立所需要的其它多媒体声音等文件;2.建立应用程序:利用FILE->NEW菜单建立名为START的多文档应用程序框架,并利用类向 阅读全文
posted @ 2010-05-20 15:46 一个人的天空@ 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 图形处理在VC下显示JPEG、GIF格式图像的一种简便方法一、引言JPEG图像压缩标准随然是一种有损图像压缩标准,但由于人眼视觉的不敏感,经压缩后的画质基本没有发生变化,很快便以较高的压缩率得到了广泛的认可。GIF格式虽然仅支持256色但它对于颜色较少的图像有着很高的压缩率,甚至超过JPEG标准,也得到了广泛的认同。但作为众多程序员的一个重要的开发工具--MicrosoftVisualC++6.0的MFC库却仅对没有经过任何压缩的BMP位图文件有着良好的支持,可以读取、显示、存储甚至在内存中创建一块内存位图。由于BMP格式的图像没有经过任何的压缩,不论是作为程序的外部文件,还是作为程序的内部资 阅读全文
posted @ 2010-05-20 15:43 一个人的天空@ 阅读(862) 评论(0) 推荐(0) 编辑
摘要: 4、同步方式中解决recv,send阻塞问题采用select函数解决,在收发前先检查读写可用状态。A、读例子:TIMEVALtv01={0,1};//1ms钟延迟,实际为0-10毫秒intnSelectRet;intnErrorCode;FD_SETfdr={1,sConnect};nSelectRet=::select(0,&fdr,NULL,NULL,&tv01);//检查可读状态if(SOCKET_ERROR==nSelectRet){nErrorCode=WSAGetLastError();TRACE("selectreadstatuserrorcode=%d 阅读全文
posted @ 2010-05-20 15:39 一个人的天空@ 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 一、TCP/IP体系结构与特点1、TCP/IP体系结构TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1)(图1.1)IP:网间协议(InternetProtocol)负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。ARP:地址解析协议(AddressResolutionProtocol)此协议将网络地址映射到硬件地址。RARP:反向地址解析协议(ReverseAddressResolutionProtocol)此协议将硬 阅读全文
posted @ 2010-05-20 15:37 一个人的天空@ 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 关键字帮助文件信息显示原作者姓名戚高文章原始出处原创介绍一般的系统帮助文件在显示关于帮助信息的时候大部分采用的方法是静态的形式将要显示的内容显示到界面上,由于这次担任项目开发,我总觉得那样太单调了,于是,在各个网站搜索后发现了一个很好的控件类(字模显示控件类),于是我进行扩充完成了一些动态显示的功能,完成后的各种要显示的帮助信息能够象放映电影一样的进行动态显示,效果蛮好的,现将制作过程合代码及演示效果写出来,希望对这个方面有研究或者寻求好方法的人有帮助.同时本文章代码中显示的文本信息各位可以根据需要进行自己修改.正文显示帮助文件的时候我采用的是全屏的显示方法,但是如果就VIEW全屏的方法的话我 阅读全文
posted @ 2010-05-20 15:32 一个人的天空@ 阅读(294) 评论(0) 推荐(0) 编辑
摘要: [前言:]有好的界面软件就成功了一半,本文将向您介绍怎样设计一些有“稀奇古怪”形状的窗体,如何设定窗体的颜色、如何设置任务栏和状态栏以及菜单图标等等,通过这些技巧能更深入的理解VC的文档-视图结构。如何制作透明窗体使用SetLayeredWindowAttributes可以方便的制作透明窗体,此函数在w2k以上才支持,而且如果希望直接使用的话,可能需要下载最新的SDK。不过此函数在w2k的user32.dll里有实现,所以如果你不希望下载巨大的sdk的话,可以直接使用GetProcAddress获取该函数的指针。SetLayeredWindowAttributes的函数原型如下:BOOLSet 阅读全文
posted @ 2010-05-20 15:30 一个人的天空@ 阅读(987) 评论(0) 推荐(0) 编辑