主要内容:介绍Windows编程的一些基础概念
1.窗口的概念
<1>一个应用程序的窗口通常包括控制菜单框、下拉菜单、
工作区以及最大化按钮、最小化按钮,
还有垂直滚动条、水平滚动条
<2>窗口是系统管理应用程序的基本单位
<3>窗口是应用程序与用户之间交互的接口环境
<4>是Win应用程序的基本操作单元
2.事件驱动的概念
<1>所谓事件驱动,简单地说就是点击什么对象(即产生什么事件),
电脑就执行什么操作(即调用什么函数)
<2>Windows程序设计是针对事件驱动进行的,
事件驱动是对事件消息的描述
<3>Windows程序的执行顺序取决于事件的发生顺序,
程序的执行顺序是由顺序产生的消息驱动的
3.句柄的概念
<1>句柄是一个8字节长(相对于64位操作系统)的数值,
用于标识应用程序中不同的对象和同类对象中的不同实例
<2>应用程序通过句柄访问相应的对象信息
以下为API编程中常见句柄:
HWND 窗口句柄
HBITMAP 位图句柄
HDC 设备环境句柄
HCURSOR 光标句柄
HFONT 字体句柄
HICON 图标句柄
HMENU 菜单句柄
HPEN 画笔句柄
HBRUSH 画刷句柄
HFILE 文件句柄
HINSTANCE 当前实例句柄
4.消息的概念
<1>Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换
<2>在Windows中消息用结构体MSG表示
typedef struct tagMSG{ HWND hwnd; //消息所属的窗口句柄(索引内存当中的资源) UINT(无符号整型) message; //消息ID,由Windows.h头文件中的宏定义来标识,常以WM_开头 WPARAM(整型) wParam; //关于消息的附加参数,例如:按下一个键,具体是哪个按键 LPARAM(整型) LParam; //关于消息的附加参数 DWORD(32位整数) time;//消息被传递到消息队列的时间 POINT(坐标结构体) pt; //消息被传递到消息队列时,光标在屏幕上的位置 } MSG;
<3>消息的内容
<1>消息号:由事先定义好的消息名标识
<2>字参数wParam:用于提供消息的附加信息
<3>长字参数lParam:用于提供消息的附加信息
<4>附加信息与具体消息号的值有关,
<5>VC++中存在几种系统定义的消息分类,
不同的前缀符号经常用于消息宏识别消息附属的分类,
系统定义的消息宏前缀如下:
BM 表示按钮控制消息(Button Message)
CB 表示组合框控制消息(Combo Box)
DM 表示默认下压式按钮控制消息(Deafult Message)
EM 表示编辑控制消息(Edit Message)
LB 表示列表框控制消息(List Box)
SBM 表示滚动条控制消息(Scroll Bars Message)
WM 表示窗口消息(Window Message)
<6>Windows编程常用的消息有
窗口管理消息 控制通知消息
初始化消息 滚动条通知消息
输入消息 非用户区消息
系统消息 MDI消息
剪贴板消息 DDE消息
控制处理消息 应用程序自定义的消息等
具体可查询MSDN文档