第章Windows应用程序.ppt

上传人:b****2 文档编号:2122299 上传时间:2022-10-27 格式:PPT 页数:45 大小:337.50KB
下载 相关 举报
第章Windows应用程序.ppt_第1页
第1页 / 共45页
第章Windows应用程序.ppt_第2页
第2页 / 共45页
第章Windows应用程序.ppt_第3页
第3页 / 共45页
第章Windows应用程序.ppt_第4页
第4页 / 共45页
第章Windows应用程序.ppt_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

第章Windows应用程序.ppt

《第章Windows应用程序.ppt》由会员分享,可在线阅读,更多相关《第章Windows应用程序.ppt(45页珍藏版)》请在冰豆网上搜索。

第章Windows应用程序.ppt

11页页第第13章章创建创建Windows应用程序应用程序内容提要内容提要Windows图形用户界面图形用户界面Windows编程基本概念编程基本概念Windows的程序设计方法的程序设计方法应用程序举例应用程序举例412322页页1、窗口及组成、窗口及组成菜单条菜单条(Menubar)工作区工作区下拉菜单下拉菜单水平滚动条水平滚动条垂直滚动条垂直滚动条最大化按钮最大化按钮最小化按钮最小化按钮标题栏标题栏13.1.1Windows图形用户界面图形用户界面状态栏状态栏33页页2、常用、常用Win32界面元素界面元素按钮、静态文本、编辑框、分组框、列表框、组按钮、静态文本、编辑框、分组框、列表框、组合框、滚动条、旋转按钮、图像列表、进度条、合框、滚动条、旋转按钮、图像列表、进度条、标签标签(Tab)控件、菜单、工具栏、状态栏、控件、菜单、工具栏、状态栏、RTF编辑器、树控件。

编辑器、树控件。

l搭积木:

各界面元素搭出图形用户界面搭积木:

各界面元素搭出图形用户界面l用什么样用什么样特点特点的代码实现组装?

的代码实现组装?

44页页1、基本数据类型、基本数据类型数据数据类型型对应的基本数据的基本数据类型型说明明BSTRunsignedshort*16位字符指位字符指针BYTEunsignedchar8位无符号整数位无符号整数COLORREFunsignedlong用作用作颜色的色的32位位值WORDunsignedshort16位无符号整数位无符号整数DWORDunsignedlong32位无符号整数位无符号整数,段地址和相关的偏移地址段地址和相关的偏移地址LONGlong32位位带符号整数符号整数LPARAMconstchar*作作为参数参数传递给窗口窗口过程或回程或回调函数的函数的32位位值LPCSTRconstchar*指向字符串常量的指向字符串常量的32位指位指针LPSTRchar*指向字符串的指向字符串的32位指位指针WPARAMunsignedint当作参数当作参数传递给窗口窗口过程或回程或回调函数的函数的32位位值13.1.2Windows编程基本概念编程基本概念55页页数据数据类型型对应的基本数据的基本数据类型型说明明LPCTSTRconstchar*指向可移植指向可移植为Unicode和和DBCS字符串常量的字符串常量的32位指位指针LPTSTRconstchar*指向可移植指向可移植为Unicode和和DBCS字符串常量的字符串常量的32位指位指针LPVOIDvoid*指向未定指向未定义类型的型的32位指位指针LRESULTlong来自窗口来自窗口过程或回程或回调函数的函数的32位返回位返回值UINTunsignedint32位无符号整数位无符号整数续表续表lAPI函数的形参和返回类型都会使用这些数据类型,MFC。

l由于Windows版本的变化,例如Windows类型WORD曾被定义为unsignedshort类型,现在被定义为unsignedint类型l因此,在Windows程序中尽量使用Windows数据类型66页页22、有关、有关、有关、有关句柄句柄句柄句柄(handle)的概念的概念的概念的概念l句柄句柄句柄句柄用于用于标识标识不同的不同的对象对象和同类对象中不同的和同类对象中不同的实例实例的标识符。

的标识符。

l句柄类似为指针,因为一个资源调入后会占用一块句柄类似为指针,因为一个资源调入后会占用一块内存,句柄用于存放资源所在内存的地址。

内存,句柄用于存放资源所在内存的地址。

typedefvoid*HANDLE;l操作系统要管理和操作这些资源,都是通过句柄来操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。

找到对应的资源。

应用程序以应用程序以应用程序以应用程序以句柄句柄句柄句柄访问相应的对象访问相应的对象访问相应的对象访问相应的对象77页页窗口窗口按钮按钮图标图标滚动条滚动条输出设备输出设备控件控件文件文件.用用句柄句柄对这些资源(对象、实例)进行标识对这些资源(对象、实例)进行标识l常用常用常用常用句柄类型句柄类型句柄类型句柄类型HWNDHWND窗口句柄窗口句柄HINSTANCEHINSTANCE当前实例句柄当前实例句柄HCURSORHCURSOR光标句柄光标句柄HFONTHFONT字体句柄字体句柄HPENHPEN画笔句柄画笔句柄HBRUSHHBRUSH画刷句柄画刷句柄HDCHDC设备环境句柄设备环境句柄HBITMAPHBITMAP位图句柄位图句柄HICONHICON图标句柄图标句柄HMENUHMENU菜单句柄菜单句柄HFILEHFILE文件句柄文件句柄88页页11、使用、使用、使用、使用APIAPIlAPI:

ApplicationProgrammingInterface,即应用程序编程接口,他是即应用程序编程接口,他是windows操作系统操作系统提提供给程序员的函数库供给程序员的函数库。

l使用结构体表示数据,当时是使用结构体表示数据,当时是C语言的年代语言的年代如:

调用如下如:

调用如下API函数显示窗口函数显示窗口ShowWindow(hwnd,nCmdShow);13.1.3Windows的程序设计方法的程序设计方法99页页

(1)应用程序接口)应用程序接口APIl定义定义Win系统各种特殊函数及数据结构;系统各种特殊函数及数据结构;l包含包含上千个上千个可调用系统功能的标准可调用系统功能的标准API函数函数;l实现应用程序与实现应用程序与Windows系统间的标准程序接口系统间的标准程序接口

(2)API函数实现三种功能函数实现三种功能l窗口管理窗口管理函数函数窗口的创建、移动和修改:

窗口的创建、移动和修改:

l图形设备图形设备(GDI)函数函数与设备无关的图形操作与设备无关的图形操作l系统服务系统服务函数函数与操作系统有关的多种服务。

与操作系统有关的多种服务。

1010页页22、使用、使用、使用、使用MFC(MicrosoftFoundationClass)MFC(MicrosoftFoundationClass)lMFC类库集成了类库集成了大量大量已预先定义好的已预先定义好的类类,用户可,用户可以根据编程的需要使用相应的类,或根据需要自以根据编程的需要使用相应的类,或根据需要自定义已有的类。

定义已有的类。

l应用程序应用程序向导向导产生一个初始的应用程序框架,程产生一个初始的应用程序框架,程序员在此基础上扩充。

序员在此基础上扩充。

l实现实现可视化可视化交互开发方式交互开发方式选择选择所需所需对象对象并确定其属性,并确定其属性,搭建搭建起应用程序的起应用程序的“大框架大框架”;编写编写必要的必要的细节代码细节代码段,构成完整的应用程序段,构成完整的应用程序1111页页1.应用程序的组成应用程序的组成一个完整的一个完整的Windows应用程序通常包含:

应用程序通常包含:

C+语言源程序文件(语言源程序文件(.cpp)头文件(头文件(.h)模块定义文件(模块定义文件(.def)资源描述文件(资源描述文件(.rc)项目文件(项目文件(.mak).13.213.2WindowsWindows应用程序应用程序的基本结构的基本结构1212页页1、一个简单的、一个简单的Windows程序程序#includeintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow)MessageBox(NULL,你好你好,我的朋友我的朋友!

问候问候,1);return0;1313页页VisualC+2008运行程序的步骤

(1)选择选择“文件文件”“新建新建”“项目项目”;在;在“项项目类型目类型”列表框中,选列表框中,选VC+,模板选,模板选Win32项目项目。

(2)在名称框键入名称在名称框键入名称myProj,在位置框中键入文,在位置框中键入文件夹名,或单击浏览按钮选择一个已有文件夹。

件夹名,或单击浏览按钮选择一个已有文件夹。

(3)单击单击确定确定按钮,单击下一步。

应用程序设置按钮,单击下一步。

应用程序设置向导中,应用程序类型选向导中,应用程序类型选Windows应用程序,附应用程序,附件选项选空项目;单击件选项选空项目;单击完成完成按钮。

按钮。

(4)在解决方案框用鼠标右击源文件夹,选择添加在解决方案框用鼠标右击源文件夹,选择添加新项目,类别选择新项目,类别选择VC+,模板选,模板选C+文件,名称文件,名称框键入框键入myHello.cpp,单击,单击添加添加按钮。

按钮。

(5)将下面完整的将下面完整的Windows程序写入程序写入myHello.cpp,按,按F7、F10调试运行。

调试运行。

1414页页例例myHello一个完整的一个完整的Windows应用程序应用程序VC2008#includeLRESULTCALLBACKWinProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam);intWINAPIWinMain(HINSTANCEhInstance,/当前实例句柄当前实例句柄HINSTANCEhPrevInstance,/前一实例句柄前一实例句柄LPSTRlpCmdLine,/指向命令行参数的指针指向命令行参数的指针intnCmdShow)/窗口显示状态窗口显示状态/1.窗口类的定义:

定义窗口的形式与功能窗口类的定义:

定义窗口的形式与功能WNDCLASSEXWindowClass=0;/为为WindowClass的各个属性赋值,制定该窗口都有些什么的各个属性赋值,制定该窗口都有些什么WindowClass.cbSize=sizeof(WNDCLASSEX);WindowClass.style=CS_HREDRAW|CS_VREDRAW;WindowClass.lpfnWndProc=WinProc;/定义窗口处理函数定义窗口处理函数WindowClass.cbClsExtra=0;WindowClass.cbWndExtra=0;WindowClass.hInstance=hInstance;/应用程序实例句柄应用程序实例句柄WindowClass.hbrBackground=static_cast(GetStockObject(DKGRAY_BRUSH);/获取系统提供的背景刷获取系统提供的背景刷constwchar_t*ClassName=LATG;/窗口类名窗口类名WindowClass.lpszClassName=ClassName;/2.窗口类的注册:

窗口类必须先注册后使用窗口类的注册:

窗口类必须先注册后使用RegisterClassEx(&WindowClass);1515页页/3.创建窗口实例创建窗口实例HWNDhWnd;/窗口句柄窗口句柄hWnd=CreateWindow(ClassName,/窗口类名窗口类名L基本基本Windows窗口窗口,/窗口标题窗口标题WS_OVERLAPPEDWINDOW,/窗口样式窗口样式CW_USEDEFAULT,/窗口最初的窗口最初的x位置位置CW_USEDEFAULT,/窗口最初的窗口最初的y位置位置CW_USEDEFAULT,/窗口最初的窗口最初的x大小大小CW_USEDEFAULT,/窗口最初的窗口最初的y大小大小0,/父窗口句柄父窗口句柄0,/窗口菜单句柄窗口菜单句柄hInstance,/应用程序实例句柄应用程序实例句柄0);/创建窗口的参数创建窗口的参数/4.显示窗口显示窗口ShowWindow(hWnd,nCmdShow);/5.消息循环:

在消息循环:

在returnmsg.wParam;按按F9设断点,按设断点,按F5,鼠标点击窗口,就弹出对话框,鼠标点击窗口,就弹出对话框/当从应用程序消息队列中检取的消息是当从应用程序消

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1