WinProc窗口过程定义函数解析-【学习札记】
2010-01-21 09:35
351 查看
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
WndProc是窗口过程的名称,可以自由定义,不过为了便于理解可以按照默认定义,这四个参数与消息的前四个域是相同的
hwnd:标识哪个窗口句柄需要调用窗口过程
message:标识hwnd窗口要处理的消息
wParam:一个32位的消息参数,其含义和数值根据消息的不同而不同
lParam:一个32位的消息参数,其值与消息有关
注意:程序通常不直接调用窗口过程,一般有windows本身调用,通过SendMessage函数可以让程序直接调用窗口过程
//注解:
GetMessage(&msg,NULL,0,0);//从消息队列获取消息,第二三四个参数表示获取的消息种类,设置为NULL或者0表示接收任何消息
TranslateMessage(&msg);//将消息传给Windows,进行一些键盘转换
DispatchMessage(&msg);//将消息传回给Windows,Windows将该消息发给适当的窗口过程,调用窗口过程进行处理
消息的定义:
#ifndef NOMSG
/*
* Message structure
*/
typedef struct tagMSG {
HWND hwnd;//消息发向的窗口的句柄
UINT message;//消息标识符,每一条消息都会有一个对应的标识符
WPARAM wParam;//一个32位的消息参数,其含义和数值根据消息的不同而不同
LPARAM lParam;//一个32位的消息参数,其值与消息有关
DWORD time;//消息放入队列的时间
POINT pt;//消息放入队列时的鼠标坐标
#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
来源:《windows程序设计》
WndProc是窗口过程的名称,可以自由定义,不过为了便于理解可以按照默认定义,这四个参数与消息的前四个域是相同的
hwnd:标识哪个窗口句柄需要调用窗口过程
message:标识hwnd窗口要处理的消息
wParam:一个32位的消息参数,其含义和数值根据消息的不同而不同
lParam:一个32位的消息参数,其值与消息有关
注意:程序通常不直接调用窗口过程,一般有windows本身调用,通过SendMessage函数可以让程序直接调用窗口过程
//注解:
GetMessage(&msg,NULL,0,0);//从消息队列获取消息,第二三四个参数表示获取的消息种类,设置为NULL或者0表示接收任何消息
TranslateMessage(&msg);//将消息传给Windows,进行一些键盘转换
DispatchMessage(&msg);//将消息传回给Windows,Windows将该消息发给适当的窗口过程,调用窗口过程进行处理
消息的定义:
#ifndef NOMSG
/*
* Message structure
*/
typedef struct tagMSG {
HWND hwnd;//消息发向的窗口的句柄
UINT message;//消息标识符,每一条消息都会有一个对应的标识符
WPARAM wParam;//一个32位的消息参数,其含义和数值根据消息的不同而不同
LPARAM lParam;//一个32位的消息参数,其值与消息有关
DWORD time;//消息放入队列的时间
POINT pt;//消息放入队列时的鼠标坐标
#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
来源:《windows程序设计》
相关文章推荐
- ucosII移植学习过程,OS_CPU_SR_Save()和OS_CPU_SR_Restore()函数的解析
- Python学习札记(十一) Function2 函数定义
- 【python学习资料】各种python 函数参数定义和解析 --转载自byte_way
- oracle的学习六:pl/sql基础(数据类型、定义变量)、游标、过程、函数、包、触发器(系统触发器)
- C/C++ --IO小程序附带运行过程 & get()函数解析
- android视图学习---Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- MySQL存储过程和函数详细定义
- Scala学习第二天 Scala函数定义、流程控制、异常处理
- Lucene学习总结之七:Lucene搜索过程解析(3)
- Lucene学习总结之七:Lucene搜索过程解析
- Hadoop 学习总结之二:HDFS读写过程解析(转载)
- Python学习札记(二十四) 函数式编程5 返回函数
- 学习解析命令行参数函数-getopt函数
- dubbo源码学习(四)初始化过程细节:解析服务
- 写协议解析程序的过程(关于通信解析函数的理解)
- 关于Oracle过程,函数的经典例子及解析
- mysql学习5过程与函数
- MySQL入门很简单-学习笔记 - 第14章 存储过程和函数
- MFC应用程序消息处理及其窗口创建和销毁过程函数调用顺序