MFC入门培训手册范本.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
MFC入门培训手册范本.pdf 本文档为MFC(Microsoft Foundation Classes)入门培训手册范本,对MFC的基本概念和编程模型进行了详细的介绍。 一、学习MFC所应具备的基础知识 1. Win32程序基础 * API:系统开放出来给程序员调用的函数。 * SDK:开发工具包,以API编写的程序也叫SDK程序。 * MFC:是一个构建在Windows API上的C++类库。 * Application Framework:指一个关连、包装良好的类库(MFC就是一个FrameWork)。 * GUI、MDI、SDI、UI等概念。 二、Windows编程模型 1. 以消息为基础,事件为驱动(message base, event driven)。 2. 用Win32实现“Hello World!”。 3. 消息映射模型(message map)- 一个重要的MFC概念。 消息映射模型是MFC中一种重要的概念,它将消息与消息处理函数关联起来。消息映射模型的实现步骤如下: * 定义一个消息实体typedef struct MSGMAP_ENTRY_{UINT nMessage; LONG (*pfn) (HWND, UINT, WPARAM, LPARAM);} MSGMAP_ENTRY ; * 把消息和消息处理函数关联起来。 MSGMAP_ENTRY messageEntries[] ={ WM_CREATE, OnCreate, WM_PAINT, OnPaint, WM_SIZE, OnSize, WM_COMMAND, OnCommand, WM_CLOSE, OnClose, WM_DESTROY, OnDestroy, }; MSGMAP_ENTRY commandEntries[] ={ IDM_ABOUT, OnAbout, IDM_EXIT, OnExit, }; * 实现消息处理函数 LRESULT CALLBACK WndProc(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam){ int i; for (i = 0; i < dim(messageEntries); i ++){ if (nMessage == messageEntries[i].nMessage) return (*messageEntries[i].pfn)(hWnd,nMessage,wParam,lParam); } return DefWindowProc(hWnd,nMessage,wParam,lParam); } LONG OnCommand(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam){ int i; for(i = 0; i < dim(commandEntries); i ++){ if (nMessage == commandEntries[i].nMessage) return (*commandEntries[i].pfn)(hWnd,nMessage,wParam,lParam); } return DefWindowProc(hWnd, nMessage,wParam,lParam); } 三、Windows程序的生命周期 Windows程序的生命周期可以分为四个阶段: 1. 创建阶段 2. 运行阶段 3. 空闲阶段 4.销毁阶段 在空闲阶段,程序需要处理消息队列,否则程序将进入睡眠状态。 四、第一个MFC程序 - “Hello World!” 下面是一个简单的MFC程序的示例代码: //Hello.h class CMyApp : public CWinApp{ public: virtual BOOL InitInstance (); }; class CMainWindow : public CFrameWnd{ public: CMainWindow (); protected: afx_msg void OnPaint (); afx_msg void OnLButtonDown(UINT nFlags,CPoint point); afx_msg void OnLButtonUp(UINT nFlags,CPoint point); afx_msg void OnMouseMove(UINT nFlags,CPoint point); }; 这个示例程序将创建一个简单的GUI应用程序,并处理一些基本的消息事件。
剩余12页未读,继续阅读
- 粉丝: 77
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Cisco Packet Tracer实用技巧及网络配置指南
- 国际象棋棋子检测8-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- jQuery信息提示插件
- 电动蝶阀远程自动化控制系统的构建与应用
- 基于python和协同过滤算法的电影推荐系统
- Hadoop复习资料题库.zip
- 国际象棋棋子检测3-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- Python毕业设计基于知识图谱的电影推荐系统源码(完整项目代码)
- 基于C++的简易图书管理系统(含exe可执行文件)
- 使用python爬取数据并采用Django搭建系统的前后台,使用Spark进行数据处理并进行电影推荐项目源码