
mfc
文章平均质量分 81
jjjyu123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进入MFC讲坛的前言(一)
在这里,我想谈谈自己学习MFC的一些体会。我是从1997年才开始在Window下编写程序的。在这之前,我编写过一些DOS程序,包括一个简单的全屏幕编辑器和一个带函数的表达式解释器,都是一些小的程序。Window 3.1流行后,我开始在它下面编写程序。 从编写DOS程序到编写Window程序,需要从编程思想上作一个比较大的调整。在DOS下编写程序,程序的总体流程完全由应用程序自己控制;但在转载 2013-12-13 12:54:00 · 548 阅读 · 0 评论 -
MFC框架原理以及消息运行机制2
8,显示和更新窗口:CTEApp类,TEApp.cpp中m_pMainWnd->ShowWindow(SW_SHOW);//显示窗口,m_pMainWnd指向框架窗口m_pMainWnd->UpdateWindow();//更新窗口说明:class CTEApp : public CWinApp{...}class CWinApp : public CWinThread{.转载 2013-12-20 18:18:25 · 826 阅读 · 0 评论 -
MFC框架原理以及消息运行机制1
(1)Windows程序内部运行机制 1,windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。2,消息结构:typedef struct tagMSG { // msg HWND hwnd;转载 2013-12-20 18:14:51 · 741 阅读 · 0 评论 -
MFC中的CArchive(1)
1.先贴上该类:class CArchive{protected:enum SchemaMapReservedRefs { objTypeArrayRef = 1 };enum LoadArrayObjType{ typeUndefined = 0, typeCRuntimeClass = 1, typeCObject = 2 };public:// Flag原创 2013-12-18 16:58:22 · 1339 阅读 · 0 评论 -
MFC中的CArchive(2)
一.概述CArchive使用了缓冲区,即一段内存空间作为临时数据存储地,对CArchive的读写都先依次排列到此缓冲区,当缓冲区满或用户要求时,将此段整理后的数据读写到指定的存储煤质。 当建立CArchive对象时,应指定其模式是用于缓冲区读,还是用于缓冲区写。 可以这样理解,CArchive对象相当于铁路的货运练调度站,零散的货物被收集,当总量到达火车运量的时候,由火车装运走。转载 2013-12-18 16:59:10 · 644 阅读 · 0 评论 -
MFC中单文档中m_pMainWnd的初始化
找了很多地方都没有找到单文了很多地方都没有找到单文档的初始化,今天我自己来找。。 工具: UltraEdit, VS2005, AJC Grep 1.1.1 试用版, 参考文献:深入浅出MFC 目标:找到m_pMainWnd的赋值的地方 m_pMainWnd转载 2013-12-17 18:32:43 · 880 阅读 · 0 评论 -
构造函数中调用虚函数?
上篇转载的文章中没有解释构造函数调用不了子类虚函数的问题,特意搜了一下如下:参考stroustrup的回答吧(http://www.research.att.com/~bs/bs_faq2.html#vcall)在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。转载 2013-12-14 14:46:09 · 696 阅读 · 0 评论 -
AFX_NOVTABLE与__declspec(novtable)
今天在看MFC的源代码时,发现基类CObject的定义是如下形式:#ifdef _AFXDLLclass CObject#elseclass AFX_NOVTABLE CObject#endif_AFXDLL是什么东西呢,从网上搜索了一下,发现当新建工程时选择Use MFC in a Shared DLL,则在工程的预编译参数Preprocessor definitions转载 2013-12-14 14:43:55 · 789 阅读 · 0 评论 -
进入MFC讲坛前言四
框窗、视图和文档及其关系 MFC架构的另外一个特色是它的框窗、视图和文档这个三位一体的结构,它是一个典型的MVC(Model、View and Controler)结构。严格的讲,框窗不属于MVC中的任何一项,MFC设计者将框窗加进来是为了能更好的协调文档 和视图。而MVC中的Controler这一项,则是应用本身的应用逻辑。 在这三者中,需要特别注意的、也最能够体现个人的编程水平转载 2013-12-13 15:17:51 · 549 阅读 · 0 评论 -
进入MFC讲坛的前言(二)
MFC中的窗口创建及窗口消息映射我经常碰到有人问我有关窗口创建的问题,他们经常把用HWND描述的系统窗口对象和用CWnd描述的MFC的窗口对象混淆不清。这两者之间是紧密联系在一起的,但是MFC为了自身的管理,在CWnd中加了一些额外的内容,包括如何从HWND生成CWnd。 在MFC中,有几种典型的窗口对象,CWnd描述的一般窗口对象,CView描述的视图对象,CFrameWnd描转载 2013-12-13 15:02:14 · 559 阅读 · 0 评论 -
进入MFC讲坛的前言(三)
MFC的消息映射机制 :MFC的设计者们在设计MFC时,紧紧把握一个目标,那就是尽可能使得MFC的代码要小,速度尽可能快。为了这个目标,他们使用了许多技巧,其中很多技巧体现在宏的运用上,实现MFC的消息映射的机制就是其中之一。 同MFC消息映射机制有关的宏有下面几个: DECLARE_MESSAGE_MAP()宏 BEGIN_MESSAGE_MAP(the转载 2013-12-13 15:08:04 · 570 阅读 · 0 评论 -
MFC内部结构剖析
MFC内部结构剖析//////////////////////////////////////////////////////////////////////////////////////////MFC程序的执行顺序依次是:theApp全局对象定义处、TestApp构造函数、WinMain。程序在加载main函数之前,会先为全局变量和全局对象分配内存空间。对于MFC程序来说,转载 2013-12-13 15:59:00 · 637 阅读 · 0 评论 -
MFC全局函数开局——AfxGetApp解剖
MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象。主要全局函数有:AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormatString1() AfxFormatString2()AfxMessageBox() AfxOutPutDebugString() AfxGetApp() AfxGetMain转载 2013-12-13 15:22:26 · 650 阅读 · 0 评论 -
MFC边看边记
好吧,不能再拖了,为了逼自己尽快搞定呢MFC,决定边看>边记笔记,用最快的速度搞定它以便开始进行后续的开发。 第一章: win32基础 该章节一上来先讲win32应用程序设计,笔者认为这是MFC的基础,赶紧打开VS2008创建一个win32项目,果然比控制台程序多了许多文件,看了下主cpp框架代码,该框架生成一个默认的窗口程序。程序进入winmain后首先创建一个WNDCLASS原创 2013-12-13 12:55:57 · 713 阅读 · 0 评论 -
MFC消息机制
1消息的分类1.1队列消息、非队列消息??队列消息:windows为每个应用程序都建立一个消息队列,那么通过消息队列,进行传送的消息都属于队列消息;一般来说,由鼠标、键盘产生的消息都属于队列消息。(为什么呢?想想,鼠标、键盘事件都是由系统捕获的,系统捕获后要传递给应用程序,就一定的通过消息队列);??非队列消息:除了队列消息,剩下的自然而然就是非队列消息了;转载 2013-12-20 18:22:29 · 1125 阅读 · 0 评论