- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(第二章单因子试验设计
第二章 VC++编程基础 南昌大学 本章内容 2.1 Windows程序工作原理 2.2 MFC程序工作原理 2.3 创建菜单程序 2.4 创建对话框程序 2.1 Windows程序工作原理 1 什么是API 2 什么是窗口与句柄 3 什么是消息与消息队列 4 什么是WinMain函数 5 一个Windows应用程序示例 Windows应用程序,操作系统,计算机硬件之间的相互关系 什么是API 什么是API 关于消息及消息队列 关于消息及消息队列 关于句柄 句柄(HANDLE),资源的标识。 操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。按资源的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE)等等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。 从变量的类型区分变量的用途 WinMain函数 Windows程序的入口函数 int WINAPI WinMain( HINSTANCE hInstance, // 实例句柄 HINSTANCE hPrevInstance, // handle to previous instance(空) LPSTR lpCmdLine, //command line//notepad 1.txt//setting int nCmdShow // show state ); 窗口的创建 创建一个完整的窗口需要经过下面四个操作步骤: 设计一个窗口类;/光标、图标、背景/填空WNDCLASS 注册窗口类; 创建窗口; 显示及更新窗口。 设计窗口类 窗口类的类型 窗口过程函数 窗口过程函数 2.2 MFC程序工作原理 MFC AppWizard: (基于MFC AppWizard新建一个单文档MFC(exe)程序) MFC程序工作原理 MFC程序工作原理 在appmodul.cpp中有哪些信誉好的足球投注网站WinMain函数。在入口处设置断点,调试运行。 theApp全局对象 2.2 MFC程序工作原理 什么是MFC? 1. 基于MFC AppWizard新建一个单文档MFC(exe)程序。 2. MFC程序剖析 类种类介绍 MSDN、类表 WinMain函数-appmodule.cpp 在WinMain中设置断点,运行程序 MFC程序工作原理 文档/视类结构 帮助对话框类 窗口类、窗口类对象与窗口 2.3 创建菜单程序 2.3.1 创建菜单命令响应函数(p162-165) 建立单文档,添加菜单,设置属性,Popup意义,添加命令响应(classwizard), 2.3.2 菜单命令的路由 1)程序类对菜单命令的响应顺序 视类,文档类,框架类,应用程序类(AfxMessageBox) 2)Windows消息的分类 (next page) 标准消息,命令消息,通告消息 消息的分类 标准消息 除WM_COMMAND之外,所有以WM_开头的消息。 从CWnd派生的类,都可以接收到这类消息。 命令消息 来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别。 从CCmdTarget派生的类,都可以接收到这类消息。 通告消息 由控件产生的消息,例如,按钮的单击,列表框的选择等均产生此类消息,为的是向其父窗口(通常是对话框)通知事件的发生。这类消息也是以WM_COMMAND形式呈现。 从CCmdTarget派生的类,都可以接收到这类消息。 3)菜单命令的路由 在3个地方添加了信息: .h中的定义 afx_msg void OnTest(); .cpp中的消息映射. ON_COMMAND(ID_TEST, OnTest) .cpp中的函数 void CMenu4View::OnTest() { // TODO: Add your command handler code here MessageBox(view); } 菜单命令消息路由过程 1)标记菜单 CMenu类:菜单的创建、更新、销毁 GetMenu : CMenu* GetMenu( ) GetSubMenu:CMenu* GetSubMenu( int nPos )
文档评论(0)