Windows 程序设计基础知识总结(一)

本文总结了Windows程序设计的基础知识,包括数据类型的句柄、消息及其常见类型,如鼠标键消息、WM_KEYDOWN等。此外,还详细介绍了WinMain函数在应用程序初始化和消息循环中的作用,以及相关函数如LoadIcon、CreateWindow等的使用。

Windows 程序设计基础知识总结(一)

一 · 数据类型

1 句柄

句柄(HANDLE),是一个唯一的 PVOID 型数据,4字节长,用于标识应用程序中不同的对象和同类对象中不同的实例。

句柄类型 说明
HWND 标识窗口
HDC 标识设备环境句柄
HINSTANCE 标识当前实例句柄
HBITMAP 标识位图句柄
HCURSOR 标识光标句柄
HICON 标识图标句柄
HFONT 标识字体句柄
HMENU 标识菜单句柄
HPEN 标识画笔句柄
HBRUSH 标识画刷句柄
HFILE 标识文件句柄
2 消息
/*
 * Message structure
 */
typedef struct tagMSG {
   
   
    HWND        hwnd;			// 用以检索消息的窗口句柄,
    	// 若此参数为 null ,则可检索所有驻留在消息队列中的消息。
    UINT        message;		// 代表一个消息的消息值,
    	// 每个 Windows 消息都有一个消息值,该值由 windows.h 头文件中的宏定义来标识
    WPARAM      wParam;
    LPARAM      lParam;
    	// wParam 和 lParam 是包含有关消息的附加信息,它随不同的消息而有所不同。
    DWORD       time;	// 指定消息发送至队列的时间
    POINT       pt;		// 指定消息发送时屏幕光标的位置。
#ifdef _MAC
    DWORD       lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

消息的宏定义的前缀经常用于消息宏识别消息附属的分类,系统定义消息宏前缀如下:

前缀 描述
BM 标识按钮控件消息
CB 表示组合框空间消息
DM 表示默认下压式按钮控件消息
EM 表示编辑控件消息
LB 表示列表框控件消息
SBM 表示滚动条控件消息
WM 表示窗口消息

应用程序自定义的消息可以供内部应用程序和系统内其他进程通信使用。不同类型 Windows 消息的取值范围不同:

消息类型 取值范围
系统定义消息(部分I) 0x0000 ~ 0x03FF
用户定义内部消息 0x0400 ~ 0x07FF
系统定义消息(部分II) 0x8000 ~ 0xBFFF
用户定义外部消息 0xC000 ~ 0xFFFF
3 Windows 应用程序常用消息

1、 鼠标键消息

消息 说明
WM_LBUTTONDOWN 单击鼠标左键
WM_LBUTTONUP 放开鼠标左键
WM_RBUTTONDOWN 单击鼠标右键
WM_RBUTTONUP 放开鼠标右键</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值