MFC Windows程序设计 读书笔记1

来源:互联网 发布:拼团平台源码 编辑:程序博客网 时间:2024/04/29 19:11

为传统的操作系统编写的程序使用过程化的模型,程序往往是从头到尾顺序执行,例如C程序,从第一行带有main()函数的语句开始执行,windows程序则不是这样执行的,他们使用如下图的事件驱动编程模型,应用程序通过处理操作系统发送来的消息来响应事件。

事件驱动编程模型

事件:可以是一次鼠标单击,或者是要求窗口更新等其他命令;

**程序进入点:**WinMain函数,WinMain函数创建窗口,并进入消息循环,即获取消息
或将其调度给窗口过程;
窗口过程:大部分操作都是在这里发生,窗口过程函数处理发送给窗口的消息;
消息队列:消息被检索前处于消息队列中等待;

一个典型的应用程序绝大部分操作都是在响应它接受到的消息,除了等待下一个消息到达之外,什么也不做。在C语言中,窗口过程一般作为一个巨大的函数实现,该函数包含一个很大的SWITCH语句,为每一个消息都提供一个选项,处理特定消息的程序代码被称为消息处理程序。

啥是消息?Windows定义了成千上百个消息,大多数都是以字符WM开头并带有下划线,例如WM_CHAR,表示从键盘输入字符。下表列出了常用的Windows消息。

  • 消息 发送条件
  • WM_CHAR 从键盘输入字符
  • WM_COMMAND
  • WM_CREAT 生成窗口
  • WM_DESTROY 撤销窗口
  • WM_LBUTTONDOWN 按下鼠标左键
  • WM_LBUTTONUP 释放鼠标左键
  • WM_PAINT 窗口需要重新绘制
  • WM_QUIT 应用程序将结束

MFC简介

Microsoft 提供的MFC是封装了Windows API功能的C++类库,在MFC中,你不经常直接调用Windows API,而是通过MFC创建对象并调用这个对象的成员函数,MFC同时也是一个应用程序的框架结构,他不仅仅是类的集合,还帮助定义了应用程序的结构并帮助应用程序处理很多杂物。
并非所有的MFC提供的函数都是类成员,MFC以全局函数的形式提供了自己各类的API函数,名字以Afx开头。类成员函数仅仅能在所属对象的说明体中被调用,而在任何时候任何地方都可以使用AFX函数。

原创粉丝点击