chapter1 windows编程基础.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:48 大小:1.5MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

chapter1 windows编程基础.ppt

chapter1windows编程基础.ppt

预览

免费试读已结束,剩余 38 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第1讲Windows应用程序基础程序调试工具包括源程序语法检查、可执行程序修改和运行监视等采用交互式方法时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程序Windows应用程序,操作系统,计算机硬件之间的相互关系关于API关于APIAPI关于消息及消息队列关于消息及消息队列利用WindowsAPI函数编写Windows应用程序必须首先了解以下内容:(1)窗口的概念(2)句柄(3)事件驱动的概念(4)消息(1)窗口一个应用程序的窗口一般包含下列成分:编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与数据交换的过程。常用句柄类型及其说明Windows程序设计是针对事件或消息的处理进行Windows中的事件驱动程序设计Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换。(4)消息VC中存在几种系统定义的消息分类,不同的前缀符号经常用于消息宏识别消息附属的分类,系统定义的消息宏前缀如下:二、Windows应用程序常用消息2.WM_KEYDOWN:按下一个非系统键时产生的消息4.WM_CREATE:由CreateWindow函数发出的消息7.WM_QUIT:由PostQuitMessage函数发出的消息三、Windows应用程序组成及编程步骤2.源程序组成结构(1)WinMain函数(2)初始化窗口类的结构体//窗口类的定义wndclass.style=0;//窗口类型为缺省类型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=GetStockObject(WHITE_BRUSH);//窗口背景为白色wndclass.lpszMenuName=NULL;//窗口中无菜单wndclass.lpszClassName=lpszClassName;//窗口类名为"窗口"LoadCursor的作用是在应用程序中加载一个窗口光标HCURSORLoadCursor(HINSTANCEhInstance,LPCTSTRlpCursorName)(b)注册窗口类(c)创建窗口实例32(d)显示窗口(3)消息循环while(GetMessage(&msg,NULL,NULL,NULL)){TranslateMessage(&msg);DispatchMessage(&msg);}主函数,窗口函数,操作系统之间的关系2.窗口函数WinProc窗口函数的一般形式如下:LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessgae,WPARAMwParam,LPARAMlParam){…switch(message)∥message为标识的消息{case……break;…caseWM_DESTROY:PostQuitMessage(0);default:returnDefWindowProc(hwnd,message,wParam,lParam);}return(0);}Windows应用程序中的数据量非常大,为了提高应用程序的可读性,Windows给许多基本数据类型定义了别名,例如:TypedefunsignedlongDWORD;TypedefintBOOL;typedefunsignedcharBYTE;typedefunsignedshortWORD;等等。在Windows.h中定义了Windows应用程序中包含种类繁多的数据类型4.一些重要的数据结构Windows应用程序还使用了一些结构类型的数据,例如:typedefstructtag_POINT{LONGx,y;}POINT;描述了一个点的位置。事件与消息四、应用程序举例//窗口类的定义wndclass.style=0;