已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 Windows 编程基础,Visual C+,2,本节主要内容,2.1 Windows程序结构2.3 MFC编程基础,3,2.1 Windows程序结构,一、简单的Windows应用程序(Ex_HelloMsg),1) “文件”“新建” “Win32 Application”,4,2.1 Windows程序结构,一、简单的Windows应用程序(Ex_HelloMsg),2) “文件”“新建” “C+ Source File”,5,2.1 Windows程序结构,#include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)MessageBox(NULL, 你好,欢迎学习VC+开发环境!,问候,0);return 0;,一、简单的Windows应用程序(Ex_HelloMsg),6,2.1 Windows程序结构,一、简单的Windows应用程序,控制台应用程序(Win32 Console Application)入口点:main(),而Windows应用程序(Win32 Application)入口点:WinMain()。句柄是标识Windows资源和设备等对象的变量,是对操作系统资源的间接引用。每一个Win32 应用程序都需要Windows.h头文件。MessageBox是一个Win32 API函数,用来弹出对话框窗口,显示短信息。,7,2.1 Windows程序结构,二、带消息处理的Windows应用程序(Ex_HelloWin.cpp),1) “文件”“新建” “Win32 Application”,2) “文件”“新建” “C+ Source File”,WinProc()用来接收和处理各种不同的消息;WinMain()完成以下功能:注册窗口类,建立和显示窗口及执行其他必要的初始化工作;创建和启动应用程序的消息循环;当收到WM_QUIT消息时,终止程序运行。,8,2.1 Windows程序结构,三、Windows应用程序的基本流程,WinMain( ),WinProc( ),9,2.1 Windows程序结构,四、Windows编程特点,消息驱动机制基于Windows程序和基于控制台程序的最根本区别。事件(event)消息(message)图形设备接口(GDI):用户直接利用系统的GDI函数方便实现图形和文本输出。基于资源的程序设计VC的“所见即所得”。动态链接库(DLL)提供程序模块的灵活性。,10,2.1.3 Windows基本数据类型(p34-35 ),11,2.3 MFC编程基础,一、MFC概述(Microsoft Foundation Class),MFC以层次结构组织,其中封装了大部分Windows API函数和Windows控件。MFC不仅为用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件。使用MFC类库和Visual C+提供的可视化程序开发工具,可使应用程序开发变得更加简单,缩短开发周期,提高代码的可靠性和可重用性。,12,2.3 MFC编程基础,一、MFC概述(Microsoft Foundation Class),13,2.3 MFC编程基础,二、设计一个MFC应用程序,“文件” “新建”“Win32 Application”(Win32 应用程序)工程:Ex_HelloMFC;“文件” “新建” “ C+ Source File”添加到该工程中;输入程序代码;“工程” “设置” “ General” “Use MFC in a shared DLL” “OK”;编译、运行。,14,2.3 MFC编程基础,三、理解MFC程序,MFC使用afxwin.h取代windows.h;MFC将AfxWinMain隐藏在应用程序框架内,自动调用;自动找到应用程序类CHelloApp的全局变量theApp;自动调用CHelloApp的虚函数InitInstance( )。该函数通过调用相关函数完成主窗口的构造和显示工作。调用基类CWinApp的成员函数Run,处理消息映射。,15,四、默认消息映射和消息处理,MFC的消息处理方式是采用映射的方式,一条消息对应一个处理函数,这个处理函数应在CFrameWnd类或其派生类中。,2.3 MFC编程基础,16,事件和消息,Windows操作环境中,无论是系统产生的动作或是用户运行应用程序产生的动作,都称为事件产生的消息。Windows应用程序利用消息与其他的Windows应用程序及Windows系统进行信息交换。Windows 的消息由三部分组成:消息号、字参数和长参数。消息号是预先定义的消息名标志符;字参数和长参数是与消息号相关的值,提供一些附加信息。,17,常用Windows窗口消息,18,19,四、默认消息映射与消息处理,采用默认的消息映射和处理函数后,消息处理流程如下:,2.3 MFC编程基础,20,四、消息映射与消息处理,支持和声明消息处理函数afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void Function1(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP( ) 定义消息映射入口 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_LBUTTONDOWN()ON_MESSAGE(WM_RBUTTONDOWN, Function1) END_MESSAGE_MAP( )定义消息处理函数,21,2.3 MFC编程基础,不需输入一行程序代码即可创建应用程序!“文件” “新建” “MFC AppWizard(exe)”工程:Ex_SDIDemo;选择程序类型:Single Document (SDI)、文档/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西省孝义市高三数学下册期末考试模拟检测卷附答案【基础题】
- 2026年浙江省东阳市高三数学下册期末考试模拟考试卷加答案
- 2026年吉林省扶余市高三数学下册期末考试模拟考试卷含答案【新】
- 2026年广东省高州市高三数学下册期末考试模拟测试卷含答案
- 2026年湖北省当阳市高三数学下册期末考试模拟考试卷含答案(研优卷)
- 2026年江苏省太仓市高三数学下册期末考试模拟测试卷(夺冠)附答案
- 河南省驻马店市泌阳县光亚学校致远学校2026-2027学年八年级上学期10月阶段检测物理试题(含答案)
- 2025年你的运动数据如何反映训练效率
- 户外活动徒步登山安全装备手册
- 供需市场紧俏商品预警函6篇范文
- 2025-2026学年人教版九年级数学上册期中提优测评试卷(含答案)
- 多多买菜协议合同
- 《MATLAB编程及应用》全套教学课件
- 2026年浦发银行春季校园招聘笔试真题
- 卫生院胸痛救治单元建设
- 老年人如何选择保健品
- 九年级语文早读材料 素材
- 材料二次搬运专项方案
- 医院培训课件:《性病病例报告与规范管理》
- 文库发布:如皋介绍
- 地下检查井隐蔽工程验收标准
评论
0/150
提交评论