MFC读书笔记part1.docVIP

  • 3
  • 0
  • 约1.02万字
  • 约 77页
  • 2018-04-23 发布于河南
  • 举报
MFC读书笔记part1

第0章 你一定要知道的 本书结构 需要的技术基础 一些名词的统一理解 范例程序说明 在那个MFC程序文件夹里!! 其他章节的例子说明见原书!! 第一章win32基本程序概念 win32程序开发流程 windows程序分为”程序代码”和”UI(用户接口)资源”两部分, 两部分最后以LINKER链接器整合为一个完整的exe档案。 所谓UI资源是指功能菜单, 对话框外貌, 程序图标, 光标开关等等东西, 这此UI资源的实际内容(二进制代码)是借助各种工具产生, 并以各种扩展名的文件存在的, 如.ico, .bmp, .cur等等, 程序员必须在一个所谓的资源描述文档(.rc)中描述它们, RC编译器(RC.EXE)读取RC文件的描述后将所有UI资源文件集中制作出一个.RES文件。 所谓的程序代码就是指的头文件.h和源文件.cpp了,它们经过编译器的编译形成.obj文件。 .res文件与.obj文件还有.def文件经过链接器的作用结合在一起, 这才是一个完整的windows可执行文件。 win32程序需要什么函数库(.lib) C Runtimes函数: Windowns API: 需要什么头文件 如果想用命令行的方式来编译和运行Windows程序,则在环境变量里应该设好这些东西。。。但是我设的不成功。 windows程序的观点――以消息为基础,以事件驱动之message based,event driven 见下图: 一个具体而微的win32程序――一个小例子 关于makefile 关于具体的例子: Make file: Generic的头文件 Generic源文件: Winmain入口函数――主要的工作: 注意这里包含了window.h头文件,这样就可以调用操作系统的api了。这里的黑体的函数都是Win32的Api函数。 InitApplication――初始化应用程序,注册窗口类。 InitInstance――初始化实例,利用前面注册好的窗口类产生窗口。 GetMessage――进行消息循环。 资源文件,会被编译成res文件。 例程序说明: Windows应用程序的执行过程: 两个阶段: 应用程序被加载阶段 消息循环阶段 应用程序衩加载的阶段: 程序的入口点――WinMain函数: 注意这里包含了window.h头文件,这样就可以调用操作系统的api了。这里的黑体的函数都是Win32的Api函数。Winmain函数中的主要工作: InitApplication――初始化应用程序,注册窗口类。 InitInstance――初始化实例,利用前面注册好的窗口类产生窗口,并将窗口显示出来。 GetMessage――进行消息循环。 应用程序被加载完毕之后就进入了消息循环: 关于消息循环 消息循环的各个阶段 产生消息阶段 OS将消息放在应用程序队列里 应用程序WinMain函数通过消息循环获取消息阶段 应用程序WinMain函数通过消息循环dispatch消息阶段 消息交给了回调函数处理阶段。 消息结构体: typedef struct tagMSG { HWND hwnd; //消息结构体中保存的关于产生消息的窗口的信息 UINT message; //代表的是消息!!eg: WM_OK WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG; typedef struct _WNDCLASS { UINT style; WNDPROC lpfnWndProc;//窗口类注册时在窗口类中保存的关于回调函数的信息 int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; } WNDCLASS, *PWNDCLASS; 关于窗口函数――回调函数: 关于回调函数中的消息映射: 将窗口函数中的内容设计得更加模块化: 将这里的例程序与VC下用MFC生成的程序进行对比: 一个win32的程序的结构: 入口是winMain函数, 在winMain函数里主要的工作有: InitApplication――初始化应用程序,注册窗口类。 InitInstance――初始化实例,利用前面注册好的窗口类产生窗口,并将窗口显示出来。 GetM

文档评论(0)

1亿VIP精品文档

相关文档