mfc
heathyhuhu
这个作者很懒,什么都没留下…
展开
-
MFC消息处理流程概述
Win32下的消息流程清晰明了,但在MFC下,由于封装的缘故,隐藏的有点深,对一般的开发人员而言,就不甚明了喽。本文试图粗略展示出MFC下消息处理的基本流程。一、先看一下Win32下的消息处理流程 每一个线程都对应有一个消息队列,利用API函数GetMessage从消息队列中获取消息,然后利用TranslateMessage翻译消息(主要是一些键盘消息),再利用Dispatc转载 2012-10-21 21:22:30 · 438 阅读 · 0 评论 -
窗口产生及消息循环
不得不承认使用MFC编程很方便,但是熟练掌握、运用MFC需要,并且了解MFC的实现原理并不是一件容易的事,了解其实现机制将会给我们编程过程带来更大的自由度,现在我们就来窥其究竟,以解知其然而不知其所以然的疑惑。简单的讲,MFC就是在windows编程的基础上,对Windows函数进行了重新组织、封装,以便程序员们使用更方便,所以我们就需要windows程序的实现机制。每一个wind转载 2012-10-21 21:39:01 · 547 阅读 · 0 评论 -
《Visual C++技术内幕[1-4章]》阅读心得总结
一、引言学习MFC其实时间也不短了,用MFC开发的功能模块也不少,但是总感觉自己基础知识不够扎实,今天决定好好恶补一下基础知识。《Visual C++技术内幕》这本书也许没有《深入浅出MFC》出名,但是其组织结构和潘爱民老师的翻译风格都很符合我的口味,最重要的是,确实是一本好书。最近公司因为开发需要,买了一套CAD组件,这套组件是基于MFC架构,代码量更是高达50万行,开发这套组件的工程师在文转载 2012-10-21 21:55:34 · 755 阅读 · 0 评论 -
小话mfc
Q1: HINSTANCE到底表示什么?A: 如果从数据类型来解释,它仅仅是指针的一种形式;对于操作系统来说,一个运行的程序就可以被看成一个这种类型的句柄。[cpp] view plaincopyprint?typedef void __RPC_FAR *HINSTANCE;typedef void __RPC_FAR *HINSTANCE;类似地,转载 2012-10-21 22:23:04 · 677 阅读 · 0 评论 -
VC绘制位图--BeginPaint()与GetDC()的区别
VC绘制位图--BeginPaint()与GetDC()的区别 - [C/C++] 1.BeginPaint()和GetDC() 在EVC中绘制位图比较方便,有不少现成的函数可供调用,我们所要注意的只是BeginPaint()或GetDC()的使用即可. 因为代码比较简单,所以不做更多解释. 这是消息循环函数:转载 2012-11-07 14:09:30 · 802 阅读 · 0 评论 -
父窗口与拥有者窗口
父窗口与拥有者窗口 一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所 以我们可以看到,窗口之间的关系有两种:owner-owne转载 2012-11-07 16:14:05 · 404 阅读 · 0 评论 -
getOwner与getParent的区别
getOwner与getParent的区别 CWnd::GetOwner 这个函数获得窗口的拥有者的指针。如果窗口没有拥有者,则缺省地返回父窗口对象的指针。注意在拥有者和被拥有者之间的关系与父子关系在几个重要方面的差别。例如,具有父窗口的窗口被限制在父窗口的客户区内,但是被拥有的窗口可以被画在桌面上的任何位置。 CWnd::GetParent 如果这个成员函数执行成功,转载 2012-11-07 15:54:56 · 1026 阅读 · 0 评论 -
Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage
安装了VS2008+sp1后出现链接错误:>Copyright (C) Microsoft Corporation. All rights reserved.1>LINK : fatal error LNK1000: Internal error during IncrBuildImage1> Version 9.00.21022.081> ExceptionCode转载 2013-12-26 11:26:35 · 916 阅读 · 0 评论 -
不能将参数1从“const char []”转换为“LPCTSTR
今天在使用vs2008+MFC时候,使用editControl的replacesel(“”)发生报错。如下::不能将参数1从“const char []”转换为“LPCTSTR”其解决方案就是, 在项目属性里面找到项目默认值下面的字符集, 将其换为:使用多字节字符集就ok了。原因:typedef LPCTSTR LPTSTR ;#ifndef _UNICODE转载 2013-12-26 22:30:06 · 17892 阅读 · 2 评论