C++与MFC编程
文章平均质量分 66
不系之舟913
这个作者很懒,什么都没留下…
展开
-
C++中回调函数的使用
回调函数是由用户撰写,而由操作系统调用的一类函数,回调函数可以把调用者和被调用者分开,调用者(例如操作系统)不需要关心被调用者到底是哪个函数,它所知道的就是有这么一类函数,这类满足相同的函数签名(函数原型,参数,返回值等),由用户书写完毕后在被调用就可以了。实现上回调函数一般都是通过函数指针来实现的。 典型的回调函数是MFC 下的定时器处理函数ontimer,你只需要添加这个消息响应函数,然转载 2013-06-26 15:47:11 · 692 阅读 · 0 评论 -
C++ string 详解
C++ string 详解2007-04-22 11:05前言: string 的角色 1 string 使用1.1 充分使用string 操作符1.2 眼花缭乱的string find 函数1.3 string insert, replace, erase 2string 和 C风格字符串3 string 和 Charactor Traits4 strin转载 2014-02-27 12:32:05 · 1052 阅读 · 0 评论 -
C++map的基本操作和使用
C++map的基本操作和使用 1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是L转载 2014-02-27 12:29:53 · 674 阅读 · 0 评论 -
VC/MFC之ListCtrl控件使用经验总结
以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn--------------------------------------------------------------------------------转载 2013-12-06 13:31:00 · 1143 阅读 · 0 评论 -
MFC DLL的基础学习
在编写MFC程序的时候,通常需要编写dll库以供其他程序调用。关于MFC dll的相关知识很多很杂,这里特酷吧结合自己学习中遇到的问题专门整理了一些MFC dll的基础知识。本部分共上下两篇文章,本文为上篇,MFC DLL应用程序类型分为以下三种:(1)使用共享MFC DLL的规则DLL(2)带静态链接MFC的规则DLL(3)MFC扩展DLL下面重点解释一下这些DLL的含义区别:转载 2013-10-23 10:27:12 · 952 阅读 · 0 评论 -
MFC下的汉字串拼音首字母提取
根据中文汉字,得到该汉字字符串的拼音首字母串。例如,“北京大学”就应该得到“BJDX”。 因此写了一个C++类来实现此功能,以方便以后编程使用。在此跟大家一起分享 HzToPy.h#pragma onceclass CHzToPy{public: CHzToPy(void); virtual ~CHzToPy(void); char conve原创 2013-10-10 10:42:09 · 1459 阅读 · 0 评论 -
C++代码优化方法总结
首先声明此文章不是我所写,是转载的一篇文章,但是我觉得很具有实用性,就当是记录吧: 优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。目录: 一. 优化转载 2013-08-06 18:09:56 · 808 阅读 · 1 评论 -
双缓冲消息队列-减少锁竞争
双缓冲消息队列-减少锁竞争在网络应用服务器端, 为了性能和防止阻塞, 经常会把逻辑处理和I/O处理分离: I/O网络线程处理I/O事件: 数据包的接收和发送, 连接的建立和维护等. 逻辑线程要对收到的数据包进行逻辑处理. 通常网络线程和逻辑线程之间是通过数据包队列来交换信息, 简单来说就是一个生产者-消费者模式.这个队列是多个线程在共享访问必须加锁, 意味着每次访问都要加锁转载 2013-08-05 16:43:31 · 1028 阅读 · 0 评论 -
CScrollView嵌入对话框中无法响应WM_MOUSE WHEEL 消息
1:问题描述:当使用CScrollView来显示图像时,往往需要将它嵌入到对话框中,当嵌入对话框之后,显示图像,使用放大镜查看图像时,发现使用WM_MOUSE WHEEL消息来放大和缩小放大镜,结果消息未响应2:分析原因:跟着调试发现,CScrollView嵌入对话框后,滚动鼠标滚轮,发现响应的是对话框的滚轮滚动消息处理,而为进入CScrollView的消息中去,分析原因是有可能鼠标发出的滚轮原创 2013-07-29 10:32:12 · 1890 阅读 · 2 评论 -
CImage类绘图,放大镜看图的实现
为了绘制jpg格式的图像数据在界面中,目前采用微软提供的CImage类实现,CImage增加型的图像绘制工具, 采用放大镜看图,并用滚轮滚动放大缩小放大镜,并移动鼠标看图,如果不使用双缓冲绘制,图像会出现闪烁的现象, 1: CImage绘图 SetStretchBltMode(pDC->m_hDC,HALFTONE);原创 2013-07-30 10:44:15 · 2125 阅读 · 0 评论 -
MFC绘图不闪烁——双缓冲技术[转]
在VC/MFC用CDC绘图时,频繁的刷新,屏幕会出现闪烁的现象,CPU时间占用率相当高,绘图效率极低,很容易出现程序崩溃。所谓双缓冲技术,下面是百度百科的解释:我们看电视时,看到的屏幕称为OSD层,也就是说,只有在OSD层上显示图像我们才能看到。现在,我需要创建一个虚拟的、看不见但是可以在上面画图(比如说画点、线)的OSD层,我称之为offscreen(后台缓冲区)。这个offscreen转载 2013-07-30 09:51:04 · 1572 阅读 · 0 评论 -
双缓冲队列尝试
提出背景:在C/S模式的系统里面,服务器端的主线程,除了要接收消息之外,还要处理消息。这使得主线程的工作量不但很大,而且工作很繁杂。这种情况在软件设计的角度来看,是很不好的:第一,这样让主线程类看起来异常的臃肿和难易阅读,第二,软件设计追求的目标是“尽量让每个类处理的工作都很单一,这样便于以后的调试和进一步对程序的扩展和移植”,这样的设计背离了软件设计中“模块化设计”的原则。为此,很多程序转载 2013-08-03 16:19:13 · 867 阅读 · 0 评论 -
MFC中的文件读写技术
计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的。面向存储的文件技术什么是文件?计算机中,一篇文章、一幅图片、一个程序等都是以文件的形式存储在磁盘上的,每个文件都有一个文件名。计算机就是对文件按名存取的。文件名的格式如下:主文件名.扩展名。为什么要在程序中使用文件?通常,程序中转载 2013-08-02 17:31:15 · 933 阅读 · 0 评论 -
MFC 资源泄露引起的问题
MFC开发软件,注意内存泄漏和资源泄漏,此篇文章来谈谈资源泄漏引起的问题 1:资源泄漏引起的现象: 程序长时间运行,系统界面出现花屏现象,这就应该是资源泄漏 2:诊断方法: 可以打开资源管理器,选择gdi对象显示,实时观察gdi是否只增无减,如果一直是增长趋势,那么可以断定是资源泄漏原创 2013-07-31 10:15:57 · 1405 阅读 · 0 评论 -
GDI对象和CDC的使用方法(防止资源泄漏)
1:CDC方面: CDC有三种使用方式 一种是获得,包括GETDC和GETWINDOWDC,这种CDC是引用,使用完了一定要ReleaseDC,不释放就会这个引用过来的CDC资源泄漏,千万不能用DeleteDC,会导致报错或程序崩溃。 还有一种就是创建,一般是CreateDC,CreateCompatibleDC等,这是创建一个新的DC,使用完了要D原创 2013-07-31 10:44:29 · 1847 阅读 · 0 评论 -
使用CPicture类绘制放大镜看图
在前面文章中阐述了用CImage类绘图,和绘制放大镜,如果设置HALFTONE此模式,图像才不会失真,但是放大镜上面显示的图像会出现白色斑点,在window sever操作系统中运行,白色斑点不会出现,目前测试在window 7操作系统中发现任然有此问题,而且使用HALFTONE模式显示jpg图像,虽然不失真,但是显示效率明显很慢,放大镜移动起来,视觉效果很差。 针对前面的显示问题原创 2013-07-30 16:55:48 · 1004 阅读 · 0 评论 -
WaitForSingleObject的用法
1.WaitForSingleObject的用法 DWORDWaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds );参数 hHandle是一个事件的句柄,第二个参数 d转载 2013-06-29 10:43:02 · 943 阅读 · 0 评论 -
VC串口通信
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使转载 2014-05-04 18:19:25 · 937 阅读 · 0 评论