第七讲--WIN程序设计基础精要.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 2.7 回调函数 回调函数,顾名思义,就是写好了等着别人来调用的函数。这些函数的原型都是由调用者自己定义好的,使用的时候,只要按照原型定义一个函数,然后将函数指针传递过去就行了。它们只能通过Windows操作系统来调用,这些函数我们可以根据自己的需要设计,但不能直接调用它们。 回调函数必须严格地按Windows系统的规定进行说明和定义。前面所所的“窗口函数”就是一个典型的回调函数,当注册窗口类时,要将函数地址告诉Windows,Windows通过调用该窗口函数来让窗口处理消息。当发送消息给程序时,Windows调用此函数进行消息的处理。窗口函数调用约定、返回值以及参数都是固定的,程序员必须按其规定进行才能正常工作。 * 3.开发Windows程序基本步骤 这节以一个简单的Windows应用程序为例来讲解编写Windows程序的基本步骤,除了了解创建的步骤外,还要熟悉每个步骤所操作的对象与应用程序的关系。 建立Example_7_1工程。 * 运用向导建立Win32程序 * * * 添加一个菜单项 添加资源中菜单项“Hello”,资源ID设置为IDM_HELLO,单击菜单弹出对话框,显示“Hello Windows Application”. * 响应菜单消息 在WndProc中添加代码 * * 分析Win32应用程序 1.Windows应用程序的头文件 Windows程序必须包含windows.h,该文件是所有Windows应用程序运行必须的一个头文件。该头文件中包含了许多其它头文件,在Windows下搜索出该文件,打开并观察其内容,可以看出在其中包含的的比较重要的头文件如下: #include windef.h //用于定义基本数据类型 #include winbase.h #include wingdi.h #include winuser.h 在这些头文件中定义了windows所支持的基本数据类型、数据结构、常用的标识符和操作系统所提供的所有API函数原型声明。 * 2.Windows应用程序的入口点 在第一篇的控制台应用程序中,程序的入口点总是main()函数,如需要编写具有图形用户界面的Windows应用程序,则程序的入口点变成了WinMain()。 (1)WinMain()的函数原型 WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ); 由于Windows应用程序可能并行地执行多次,因而可能出现同一个应用程序的多个窗口同时存在的情况,Windows系统将应用程序每一次执行称为该应用程序的一个实例,并使用一个实例句柄来标识它。 * 在WinMain()函数中, hInstance是当前应用程序的实例句柄 lpCmdLine是指程序运行时的命令行参数 nCmdShow规定了窗口如何显示,当它的值为SW_SHOWNORMAL时代表正常显示,值为SW_MINIMIZE代表最小化显示,值为SW_MAXIMIZE时代表最大化显示等。 WinMain()函数返回值是一个整数,在windef.h中有定义: #define WINAPI __stdcall 除了__stdcall调用方式外,还有__cdecl和__pascal调用方式,其区别在表4.6中表示。 * 三种函数参数的调用方法 * 3.MessageBox函数 MessageBox是一个Woindows API函数,它通过弹出一个消息对话框来显示一些简短的信息。如报告任务的完成、报告一条严重的错误等。 int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ); * 4. DrawText函数 case WM_PAINT: hdc = BeginPaint(hWnd, ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, rt); DrawText(hdc, szHello, strlen(szHello), rt, DT_CENTER); EndPaint(hWnd, ps); break; * 4. Windows编程接口 Windows API 参考MSDN Windows图形设备

文档评论(0)

文档资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档