- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 Windows 编程基础 Windows 编程基础知识 Windows 应用程序常用消息 Windows 中的事件驱动程序设计 Windows 应用程序的基本结构 跨平台开发原则 跨平台应用程序的开发 Windows 操作平台: Windows 3.X 是一个16位的操作平台。 Windows 95/98/NT/2000是一个32位的操作平台。 NT/2000是一个全32位的操作系统,而95/98是 16位和32 位的混合物。 ? Windows API(Win16 API和Win32API) Win16(Windows 3.x)—Win32S(Windows3.x的 32接口)—Win32(Windows95/98/NT) 跨平台应用程序的开发原则: 1、应用程序中要检测版本 2、注意数据类型的变化 3、尽量使用通用的API函数 4、注意各个版本的区别和支持/不支持的功能 5、注意一些函数语法和语义上的改变 Win32平台开发工具包 Win32平台的常用开发工具 1、微软提供的软件开发包(SDK) Win32 SDK、OLE SDK、ODBC SDK等。 2、微软提供的可视化集成开发工具 Visual Studio系列产品 Visual C++(MFC)、Visual Basic、Visual J++ 3、Borland 公司的一些开发工具 Borland C++(OWL)、C++ Builder、Delphi 4、其他的 Watcom C++、PowerBuilder 窗口 窗口是Windows 应用程序基本的操作单元,是应用程序和用户之间交互的接口环境,也是系统管理应用程序的基本单位。 事件、句柄 事件驱动 Windows是消息驱动(或事件驱动)的 操作系统。 句柄和Windows 消息 1、句柄 句柄是整个Windows编程的基础,一个 句柄是指Windows使用的一个惟一的整数 值(long ),用于标识应用程序中不同的 对象和同类对象中不同的实例,例如,一 个窗口、文件等。 常用的句柄类型 一些常用的句柄类型:( 表3-1) HWND HBITMAP HINSTANCE HICON HCURSOR HMENU HFONT HFILE HPEN HDC HBRUSH 消息结构定义 2、消息 消息是Windows应用程序之间及应用程 序与Windows操作系统之间进行通信的机 制。消息是一个整数值,可以携带两个参 数,一个是wParam,另一个是lParam。 根据消息的不同,参数所表示的含义也不 同。 在Windows API中为了方便的使用消息, 通常用MSG结构来封装消息。 MSG结构的定义: typedef struct tagMSG {? HWND?? hwnd;//检索消息的窗口 UINT? message;//消息类型 WPARAM wParam;//消息附加信息,如键值 LPARAM lParam; DWORD? time; POINT? pt; }MSG; 消息的分类 消息的分类 系统定义的消息 消息 内部的消息 用户自定义的消息 外部的消息 系统定义的消息的取值范围: 0x0000 ~ 0x03FF、0x8000 ~ 0xBFFF 用户自定义的内部消息的取值范围: 0x0400 ~ 0x7FF 用户自定义的外部消息的取值范围: 0xC000 ~ 0xFFFF 系统定义的消息 ①.系统定义的消息 Windows使用系统定义的消息和应用程序 进行通信、控制应用程序。每个系统定义 的消息都有一个唯一的数值标识符和相应 的宏,例如,按下鼠标左键为: WM_LBUTTONDOWN 0x0201 按下鼠标右键为: WM_RBUTTONDOWN 0x0204 用户定义的消息(1) ②.用户定义的消息 除系统定义的消息外,用户也可以定义 自己的消息。用户自定义的消息分为:用 户自定义的内部消息和用户自定义的外部 消息两类。 用户自定义的内部消息一般用于本应用 程序内的通信,其他的外部程序不认识该 消息。使用用户自定义的内部消息时应注 意,定义
文档评论(0)