Windows应用程序.ppt

上传人:laozhun 文档编号:2686217 上传时间:2023-02-22 格式:PPT 页数:21 大小:1.11MB
返回 下载 相关 举报
Windows应用程序.ppt_第1页
第1页 / 共21页
Windows应用程序.ppt_第2页
第2页 / 共21页
Windows应用程序.ppt_第3页
第3页 / 共21页
Windows应用程序.ppt_第4页
第4页 / 共21页
Windows应用程序.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《Windows应用程序.ppt》由会员分享,可在线阅读,更多相关《Windows应用程序.ppt(21页珍藏版)》请在三一办公上搜索。

1、第七章 Windows应用程序,吴良杰,Harbin Engineering University,简单的Windows应用程序,WinMain函数的原型如下:int WINAPI WinMain(HINSTANCE hInstance,/当前实例句柄HINSTANCE hPrevInstance,/前一实例句柄LPSTR lpCmdLine,/指向命令行参数的指针int nCmdShow)/窗口的显示状态,#include int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nC

2、mdShow)MessageBox(NULL,你好,我的Visual C+世界!,问候,0);return 0;,句柄:一个标识Windows资源和设备等对象的变量,或者是一个对操作系统资源的引用。,简单的Windows应用程序,Windows.h头文件 定义了Windows的所有数据类型、函数调用、数据结构和符号常量。MessageBox:一个Win32 API函数,弹出一个对话框窗口,显示短信息。API:Application Programming Interface 应用程序接口,Windows编程基础,Windows的程序设计语言 VC、VB、VJ 面向对象语言对象 Windows的

3、规范部件。如:窗口、菜单、按钮、对话框 特征:具有规范形态和操作模式.编程方法 传统编写法-API(Application Programming Interface)交互式方法-MFC(Microsoft Foundation Classes),编写Windows程序相当一部分工作是在创建对象和为对象属性赋值,Windows编程基础,Windows编程基础,API函数,实现窗口的创建、移动和修改功能.,窗口管理函数,系统服务函数,图形设备(GDI)函数,实现与操作系统有关的多种功能.,实现与设备无关的图形操作功能,Windows编程基础,窗口 Windows应用程序基本操作单元、应用程序与用

4、户之间交互的接口环境,系统管理应用程序的基本单位。消息驱动 消息:描述事件发生的信息(如按下鼠标或键盘)Windows程序执行顺序取决于事件发生的顺序,程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。,Windows编程基础,消息的组成 消息号:由事先定义好的消息名标识 字参数:用于提供消息的附加信息 长字参数:用于提供消息的附加信息种类消息前缀BM表示按钮控制消息CB表示组合框控制消息DM表示默认下压式按钮控制消息EM表示编辑控制消息LB表示列表框控制消息SBM表示滚动条控制消息WM表示窗口消息,附加信息与具体消息号的值有关,,Windows编程基础,Windo

5、ws应用程序常用消息1.WM_LBUTTONDOWN:产生单击鼠标左键的消息 字参数:键按下的状态;长字参数:光标的坐标2.WM_KEYDOWN:按下一个非系统键时产生的消息 3.WM_ CHAR:按下一个非系统键时产生的消息4.WM_CREATE:由CreateWindow函数发出的消息wParam:未用1Param:包含一个指向CREATESTRUCT数据结构的指针5.WM_CLOSE:关闭窗口时产生的消息6.WM_DESTROY:由DestroyWiodow函数发出的消息7.WM_QUIT:由PostQuitMessage函数发出的消息8.WM_PAINT:,Windows编程基础,句柄

6、 一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例。应用程序通过句柄访问相应的对象信息。常用句柄,HWND窗口句柄HDC设备环境句柄HBITMAP位图句柄HCURSOR光标句柄HICON图标句柄HFONT字体句柄HMENU菜单句柄HPEN画笔句柄HFILE文件句柄HBRUSH画刷句柄HINSTANCE当前实例句柄,Windows中的事件驱动程序设计,实例:统计一个学生的平均成绩。,Windows应用程序的基本结构,应用程序组成 1.C语言源程序文件 2.头文件 3.模块定义文件 4.资源描述文件 5.项目文件,Windows应用程序的基本结构,源程序结构1、入口函数Win

7、Main 注册窗口类,建立窗口及执行必要的初始化;进入消息循环,根据接受的消息调用相应的处理过程;当消息循环检索到WM_QUIT时终止程序运行2、窗口函数WndProc WinProc函数由一个或多个switch语句组成。每一条case语句对应一种消息,当应用程序接收到一个消息时,相应的case语句被激活并执行相应的响应程序模块。,Windows应用程序的基本结构,初始化窗口类的定义:定义窗口的形式与功能窗口类的注册:窗口类必须先注册后使用,RegisterClass创建窗口实例 CreateWindow显示窗口 ShowWindow,UpdateWindow,Windows应用程序的基本结构

8、,消息循环 while(GetMessage(,将消息的虚拟键转换为字符信息,将消息传送到指定窗口函数,从消息队列中读取一条消息,并将消息放在MSG结构中,窗口函数的一般形式如下:LRESULT CALLBACK WndProc(HWND hwnd,UINT messgae,WPARAM wParam,LPARAM lParam)switch(message)message为标识的消息 case case WM_DESTROY:PostQuitMessage(0);default:return DefWindowProc(hwnd,message,wParam,lParam);return(0

9、);,为未定义处理过程的消息提供缺省处理,数据类型,一些重要的数据结构,MSG:包含一个消息的全部信息,是消息发送的格式WINDCLASS:包含一个窗口类的全部信息及属性POINT:定义了屏幕上或窗口中的一个点的X和 Y坐标RECT:定义了一个矩形区域及其左上角和右下角的坐标,#include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)HWND hwnd;

10、MSG msg;WNDCLASS wndclass;wndclass.style=CS_HREDRAW|CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=Hellowin;,if(!RegisterClass(,ShowWindow(hwnd,nCmdShow);UpdateWindow(hwnd);while(GetMessage(,

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号