1 Windows编程基础.doc_第1页
1 Windows编程基础.doc_第2页
1 Windows编程基础.doc_第3页
1 Windows编程基础.doc_第4页
1 Windows编程基础.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

Windows编程基础 Windows是一种基于图形界面的多任务操作系统。为了便于帮助开发Windows应用程序,Windows提供了大量的内建函数以及方便使用各种特性比如弹出菜单、滚动条、对话框、图标。Windows编程的方法主要有传统编写方法(利用API函数)和交互式方法(利用MFC类库)。 为了程序员在编写应用程序的时候实现Windows系统的特征,Windows提供了一系列应用程序接口即是Windows API(Application Programming Interface),这是Windows支持的函数定义、参数定义和消息格式的集合,可供应用程序调用。利用Windows API编程首先要了解以下的几个内容:1.窗口的概念 2.事件驱动机制3.句柄4消息标题栏1窗口。客户区窗口边框工具栏2事件驱动 Windows程序设计是针对事件或者消息的,它的执行顺序取决于事件发生的顺序。程序的执行顺序是由事件产生的消息驱动决定的。在Windows环境下,应用程序启动后,系统等待用户在图形用户界面内的输入选择,如鼠标按键、键盘按键、窗口被创建、改变大小等等,对系统来说,这都是事件。 事件编程对于编写交互式程序很有用处,比如编写一个计算学生平时成绩的程序。传统的DOS过程驱动与Windows系统的事件驱动的实现是不一样的。输入第二次成绩输入第一次成绩输入姓名计算平时成绩输入第三次成绩消息处理启动结束结束启动输入姓名输入第一次成绩输入第二次成绩输入第三次成绩计算平时成绩传统的DOS过程驱动 Windows系统的事件驱动我们来观察一个范例程序,做一个比较3句柄Windows操作系统中所谓的“句柄”(Handle)是唯一标识某个Windows对象(程序实例、窗口、菜单、图标、画刷等)的一个32位无符号整数。通过句柄,程序才能使用与其对应的Windows对象。 常用句柄类型及其说明句 柄说 明句 柄说 明HWND窗口句柄HDC设备环境句柄HBITMAP位图句柄HCURSOR光标句柄HICON图标句柄HFONT字体句柄HMENU菜单句柄HPEN画笔句柄HFILE文件句柄HBRUSH画刷句柄HINSTANCE当前实例句柄HLOCAL局部内存对象句柄HGLOBAL全局内存对象句柄4消息 Windows应用程序通过Windows消息与应用程序及系统进行信息交换。在Windows中,消息用结构体tagMSG来表示typedef struct tagMSG HWND hwnd; /窗口句柄 UINT message; /消息值,由windows.h头文件中的宏定义来标识 WPARAM wParam; /包含有关消息的附加值,不同消息的值有所不同 LPARAM lParam; DWORD time; /指定消息送至队列的时间 POINT pt; /指定消息发送时屏幕光标的位置,POINT也是一个结构体/ MSG;Visual C+中存在几种系统定义的消息分类,不同的前缀符号经常用于消息宏识别消息附属的分类。前 缀 消 息 分 类BM表示按钮控制消息CB表示组合框控制消息DM表示默认下压式按钮控制消息EM表示编辑控制消息LB表示列表框控制消息SBM表示滚动条控制消息WM表示窗口消息如,Windows常用的窗口消息和消息值定义于“winuser.h”中#define WM_NULL 0x0000#define WM_CREATE 0x0001#define WM_DESTROY 0x0002#define WM_MOVE 0x0003#define WM_SIZE 0x0005/.#define WM_CLOSE 0x0010#define WM_QUERYENDSESSION 0x0011#define WM_QUIT 0x0012接下来介绍常用的Windows应用程序的消息的类型以及消息参数的含义。常用的消息一般有鼠标消息、键盘消息和窗口消息鼠标消息:#define WM_LBUTTONUP 0x0202 按下鼠标左键消息#define WM_LBUTTONDBLCLK 0x0203 松开鼠标左键消息#define WM_RBUTTONDOWN 0x0204 按下鼠标右键消息#define WM_RBUTTONUP 0x0205 松开鼠标左键消息#define WM_RBUTTONDBLCLK 0x0206 双击鼠标左键消息#define WM_MBUTTONDOWN 0x0207 双击鼠标右键消息键盘消息:#define WM_KEYDOWN 0x0100 按下一个系统键产生的消息#define WM_KEYUP 0x0101 放开一个系统键产生的消息#define WM_CHAR 0x0102 按下一个非系统键产生的消息所谓系统键就是指的实现系统操作的组合键,例如ALT+F1等。非系统键就是指的数字,字母等等。系统键的虚拟键码存贮在消息结构中。非系统键的键码就是其ASC码。部分系统键的虚拟键码定义如下:#define VK_LWIN 0x5B#define VK_RWIN 0x5C#define VK_APPS 0x5D#define VK_NUMPAD0 0x60#define VK_NUMPAD1 0x61#define VK_NUMPAD2 0x62#define VK_NUMPAD3 0x63#define VK_NUMPAD4 0x64#define VK_NUMPAD5 0x65#define VK_NUMPAD6 0x66#define VK_NUMPAD7 0x67#define VK_NUMPAD8 0x68#define VK_NUMPAD9 0x69#define VK_MULTIPLY 0x6A#define VK_ADD 0x6B#define VK_SEPARATOR 0x6C#define VK_SUBTRACT 0x6D#define VK_DECIMAL 0x6E#define VK_DIVIDE 0x6F#define VK_F1 0x70#define VK_F2 0x71#define VK_F3 0x72#define VK_F4 0x73#define VK_F5 0x74#define VK_F6 0x75#define VK_F7 0x76#define VK_F8 0x77#define VK_F9 0x78#define VK_F10 0x79#define VK_F11 0x7A#define VK_F12 0x7B/窗口消息:#define WM_CRE

温馨提示

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

评论

0/150

提交评论