《深入浅出MFC》

转载 2007年09月21日 20:12:00
以消息为基础,以事件驱动之(message based, event driven) Windows 程序的进行系依靠外部发生的事件来驱动。换句话说,程序不断等待(利用一个while 回路),等待任何可能的输入,然后做判断,然后再做适当的处理。上述的「输入」是由操作系统捕捉到之后,以消息形式(一种数据结构)进入程序之中。操作系统如何捕捉外围设备(如键盘和鼠标)所发生的事件呢?噢,USER 模块掌管各个外围的驱动程序,它们各有侦测回路。如果把应用程序获得的各种「输入」分类,可以分为由硬件装置所产生的消息(如鼠标移动或键盘被按下),放在系统队列(system queue)中,以及由Windows 系统或其它 Windows 程序传送过来的消息,放在程序队列(application queue)中。以应用程序的眼光来看,消息就是消息,来自哪里或放在哪里其实并没有太大区别,反正程序调用 GetMessage API 就取得一个消息,程序的生命靠它来推动。所有的GUI 系统,包括UNIX 的X Window 以及OS/2 的Presentation Manager,都像这样,是以消息为基础的事件驱动系统。可想而知,每一个Windows 程序都应该有一个回路如下: MSG msg; while (GetMessage(&msg, NULL, NULL, NULL)) { TranslateMessage(&msg); DispatchMessage(&msg); } // 以上出现的函数都是Windows API 函数消息,也就是上面出现的MSG 结构,其实是Windows 内定的一种资料格式: /* Queued message structure */ typedef struct tagMSG { HWND hwnd; UINT message; // WM_xxx,例如WM_MOUSEMOVE,WM_SIZE... WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; 接受并处理消息的主角就是窗口。每一个窗口都应该有一个函数负责处理消息,程序员必须负责设计这个所谓的「窗口函数」(window procedure,或称为window function)。如果窗口获得一个消息,这个窗口函数必须判断消息的类别,决定处理的方式。以上就是Windows 程序设计最重要的观念。

相关文章推荐

深入浅出MFC学习笔记(第9章:消息映射与命令传递。)

第九章:消息映射与命令传递。     本章将会对MFC的消息映射和 命令传递机制做深入探讨。     MFC规定了消息传递的路线,消息会按照这个路线传递下去,找不到归宿的话就交给DefWi...

【深入浅出MFC】第二章 Win32 基本程序观念

1.类别及其成员- 谈封装(encapsulation) member variable(成员变量)和member function(成员函数) 2.基础类别与衍生类别:谈继承(Inherit...

深入浅出MFC读书笔记——c++对象重要性质

工作需要,开始学习MFC,最近在读《深入浅出MFC》,将所看的内容整理作为笔记 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...

深入浅出Visual C++动态链接库(Dll)编程之三:MFC规则DLL

第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。   另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的...

VC++动态链接库(DLL)编程深入浅出(三) - MFC动态库问题

5. MFC规则DLL  5.1 概述  MFC规则DLL的概念体现在两方面:  (1) 它是MFC的  “是MFC的”意味着可以在这种DLL的内部使用MFC;  (2) 它是规则的  “是规则的”意...

深入浅出MFC 第一篇(读书笔记(概要))

MFC 是微软的一个Application Frame,看网上好多人都评论说是 深入浅出MFC 是一本 比较经典的书 ,因此拿来拜读一下。...

深入浅出MFC学习笔记:(第一章:win32基本概念,第二章:C++的重要性质)

深入浅出MFC阅读笔记:   写在开始的话: 刚结束《C++primer》的第二次阅读,决定趁热打铁,学习《深入浅出MFC》。当然,学习框架不是目的,而是通过学习MFC底层框架实现原理,对C...

学习笔记之深入浅出MFC 第5章 Windows程序的生与死

在上面几个章节中我们已经对win32程序的架构以及它与Windows系统之间的关系已经有了一个整体的介绍,对于窗口创建以及消息传递的原理也有了原理上的理解,但是为了更透彻的了解Windows程序的各个...

《深入浅出MFC》读书笔记(十一)

第6章 程序的生死因果  这一部分应该是第一章某些章节的扩展,难怪当时看第一章觉得解释不够详细,原来侯捷把大头放在这一章了。前面看到第一章时,还特意找了份关于SDK程序的材料来看,估计现在看这一章会轻...

1.Win32基本程序概念(深入浅出MFC之读书笔记)

Windows程序分为“程序代码”和“UI资源”两大部分,两部分最后以RC编译器整合为一个完整的的exe档案,如图所示。 Windows程序调用的函数可分为C Runtimes以及Windows A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《深入浅出MFC》
举报原因:
原因补充:

(最多只允许输入30个字)