14 windows sdk 编程.ppt_第1页
14 windows sdk 编程.ppt_第2页
14 windows sdk 编程.ppt_第3页
14 windows sdk 编程.ppt_第4页
14 windows sdk 编程.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、WinMain函数、WinMain函数(所有Windows应用程序的入口)以及与c语言类似的main() WinMain函数功能是完成一系列定义和初始化任务并生成消息循环消息循环。整个程序的核心WinMain函数3360函数描述、初始化和消息循环,用于注册窗口类、设置窗口、执行消息循环所需的其他初始化任务,并根据从应用程序节目消息队列(应用程序节目)接收的消息调用相应的处理过程。消息循环在搜索WM_QUIT消息时结束节目执行。Winmain函数3360(函数说明)、Int Winapi Winmain (HIIT /应用程序节目当前实例句柄HINSTANCE hPrevInst,/应用程序

2、节目其他实例句柄LPSTR lpszCmdLine,/定义窗口类的方法是:将值分配给包含窗口类的各种属性的窗口类数据结构WNDCLASS。b .注册窗口类Windows系统本身提供了一些预定义的窗口类,同时还提供了程序员或自定义窗口类。窗口类必须先注册,然后使用。窗口类注册由函数RegisterClass()执行。格式为RegisterClass(/wndclass)。窗口类结构RegisterClass函数返回值是布尔值;注册成功时返回值是true,c .创建窗口:创建窗口类的实例由函数CreatWindow()实现。牙齿函数基本体是HWND createwindow(LPCTSTR lps

3、z class name,/窗口类名称LPCTSTR lpszTitle,/窗口标题名称DWORD dwStyle,/创建窗口样式int x) 创建带边框的窗口创建带标题栏的窗口创建带水平滚动条的窗口创建带最大化按钮的窗口创建带最大化窗口创建带最小化按钮的窗口创建带边框和标题栏的窗口,Ws _ border Ws _ caption Ws _ hscroll Ws _ maximize box Ws _ maximize 创建具有系统菜单和最大最小化按钮的窗口创建WS_POPUP弹出窗口创建WS_POPUPWINDOW边框和系统菜单弹出窗口创建具有WS_SYSMENU系统菜单的窗口WS应用程序

4、调用ShowWindow()以创建ShowWindow(hwnd,nCmdShow Hwnd是窗口句柄。NCmdShow确定窗口显示的显示窗口后,应用程序经常调用UpdateWindow()更新用户区域,并发送WM_PAINT消息。格式为updatewindow (hwnd)。常规显示格式标识符和说明,SW _ hide SW _ shownormal SW _ show minimize SW _ show maximize SW _ shownoactive SW _ restore,隐藏窗口Windows将生成的消息函数从应用程序的消息队列中提取,应用程序的WinMain将从消息循环中提

5、取队列中的消息,并将其传递给窗口函数处理、消息循环的常规格式和MSG Msg。While (GetMessage(,getmassage(指向lpMSG,/msg结构的指针hwnd,nMsgFilterMin,/消息筛选的最小消息编号值nMsgFilterMax/)也就是说,只能处理标识的消息编号范围内的消息。如果两个参数都为零,则不过滤消息。TranslateMessage函数:将TranslateMessage(lpMSG)消息中的虚拟密钥转换为文本消息。DispatchMessage函数将参数LpMSG指向的消息传递到DispatchMessage(lpMSG)格式指定的窗口函数。如果G

6、etMessage软件搜索零值(WM_QUIT消息),程序将终止循环并退出。2、窗口函数,定义窗口函数应用程序徐璐对其他消息的响应通常由一条或多条switch语句组成。每个case语句的一个消息窗口函数是:应用程序处理收到的消息的函数,应用程序可以接收的各种消息的处理进程窗口函数(lresult callback wndproc,hwnd hwnd,/window句柄UINT message,/表示正在处理的消息的消息值WPARAM,case WM _ destroy 3360 postquitmessage(0);default 3360 return def window proc(hwn

7、d、message、wparam、lparam);返回(0);窗口函数主体是由一系列case语句组成的消息处理语句。程序员(WM_DESTROY)只需按照窗口可以接收的消息在case语句中写入相应的处理程序段。通常,case语句的消息处理程序段会处理WM _ destroy消息。牙齿消息在窗口关闭时发送。应用程序调用函数PostQuitMessage响应牙齿消息。牙齿函数向应用节目发送WM_QUIT消息,请求终止。PostQuitMessage函数的基本体是Void PostQuitMessage(intnexitcode);NExitCode为应用程序节目退出代码以下语句中未定义进程的消息提

8、供默认处理default : return def window proc(hwnd、message、wparam、lparam):函数DefWindowProc是系统的基本处理过程,以便可以处理发送到牙齿窗口的所有消息。简单的Windows应用程序。首先分析节目代码片段,然后启动机器,就会产生简单的窗口。牙齿示例用作Windows API函数编程的简单起点。#include /窗口函数说明lresult callback wndproc (hwnd,uint,wparam,lparam);/-以下是初始化窗口类- /winmain函数说明int winapi wiwi /应用程序节目添加实例

9、句柄LPSTR lpszCmdLine,/节目命令行参数指针int nCmdShow /应用程序节目启动时窗口的显示方式/整数MSG MsgWNDCLASS wndclassChar lpszClassName=“窗口”;/窗口类名char lpszTitle=My _ Windows/窗口标题名称/定义窗口类wnd class . style=0;/窗类型是默认类型wnd class . lpfnwndproc=wnd proc;/窗口处理函数WndProc wndclass . cbclsextra=0;/扩展窗口类wnd class . cbwndextra=0;/窗口实例没有扩展wnd

10、class.hInstance=hInstance。/当前实例句柄,wndclass.hicon=loadicon (null,idi _ application);/窗口的最小化图标为默认图标wnd class . h cursor=load cursor(null,IDC _ arrow)。/窗口使用箭头光标wnd class . HBR background=getstockobject(white _ brush)。/窗口背景为白色wndclass.lpszMenuName=NULL/窗口中没有菜单wnd class . lpsz class name=lpsz class name;

11、/窗口类名称是窗口示例,/-下面是窗口类注册- if(!RegisterClass(,/创建窗口hwnd=create window(lpsz class name,/窗口类名lpszTitle,/窗口实例的标题名称ws _ overlappedwitle)/绘制自定义区域update window(hwnd);/消息循环while(GetMessage(/消息循环退出节目结束时将信息返回到系统,/窗口函数lresult callback wndproc,hwnd hwnd,/窗口句柄uint message,)程序员(WITCH (Message)/Message)只需根据窗口/可接收的消息

12、(消息值为caseWM _ destroy 3360 PostQuitmessage(0)在Case语句中写入相应的处理程序段/PostQuitMessage调用WM_QUIT消息default: /默认情况下,系统消息默认处理函数return def window proc (hwnd、Message、wparam、lparam返回、图形设备介面、图形设备接口(GDI):是一个可执行程序,它处理windows应用程序中的图形函数调用,然后将这些调用生成相应的设备驱动程序、驱动程序执行和硬件相关函数以及最终输出。GDI可以看作应用程序和输出设备之间的中介。另一方面,GDI为应用程序提供与设备无

13、关的编程环境,而以设备相关的形式与特定设备进行交易。图形设备介面、GDI提供两个茄子基本服务:生成图形输出和存储图像。GDI提供了多种用于图形输出的函数功能,这些图形输出接收应用程序的绘图请求、处理绘图数据,并基于当前使用的设备调用相应的设备驱动程序来生成绘图输出。这些绘图函数分为三个茄子类别:文字输出、矢量图形函数、直线绘制、圆等几何体、光栅(位图)图形函数和位图绘制。GDI可以识别四种茄子设备类型:显示屏幕、硬拷贝设备(打印机、绘图仪)、位图和图元文件。前两个是物理设备,后两个是医生设备。医生设备提供了将映像存储在RAM或磁盘上的方法。位图保存使用图形中的点信息,内存更多,但速度更快。动态链接库、动态链接库(DLL):多个函数,实际上只是函数软件包,是在运行过程中应用程序连接到的一组函数。优点:1 .多个应用程序使用相同的动态链接库,在内存中共享DLL文件的一个副本,不仅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论