wParam 和 lParam
这两个到底是什么,我咋就搞不明白呢。。可以获得键盘消息caseWM_CHAR:{//getthecharactercharascii_code=wParam;intkey...
这两个到底是什么,我咋就搞不明白呢。。可以获得键盘消息case WM_CHAR:
{
// get the character
char ascii_code = wParam;
int key_state = lParam;
还可以知道窗口的大小
case WM_SIZE:
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam); 展开
{
// get the character
char ascii_code = wParam;
int key_state = lParam;
还可以知道窗口的大小
case WM_SIZE:
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam); 展开
1个回答
展开全部
所有的Win API 程序 都有 一个 主程序 int WINAPI WinMain(。。。);
所有的Win API 程序 都有 一个 事件 循环控制处理 函数 WndProc();
键盘消息 是 事件中的 一种,当然可以 在 WndProc() 里 获得。
事件 来自 UINT message 参数
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) {
switch(message)
{
case WM_CREATE: ...
case WM_LBUTTONDOWN: ..
case WM_PAINT: ..
case WM_SIZE: ..
case 各式各样 的 WM_xxxx 实际上是 事件的号码。
};
}
各式各样 的 WM_xxxx 实际上是 事件的号码。当 message 等于 WM_SIZE 时,表示显示窗的大小发生变化,
LOWORD(lParam); 是 WndProc 传进来的参数, WndProc 是这个参数的低位
HIWORD(lParam); 是这个参数的 高位。 哪个参数,它的高位是什么,低位是什么等等,都是 API 规定/约定 好的。
wParam 是 WndProc 函数第3个参数,lParam 是 WndProc 函数第4 个参数。
这两个参数含义 与 消息 message 有关。
WPARAM 是 无符号型 ( word 型)。
LPARAM 是 有符号长整数型。
所有的Win API 程序 都有 一个 事件 循环控制处理 函数 WndProc();
键盘消息 是 事件中的 一种,当然可以 在 WndProc() 里 获得。
事件 来自 UINT message 参数
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) {
switch(message)
{
case WM_CREATE: ...
case WM_LBUTTONDOWN: ..
case WM_PAINT: ..
case WM_SIZE: ..
case 各式各样 的 WM_xxxx 实际上是 事件的号码。
};
}
各式各样 的 WM_xxxx 实际上是 事件的号码。当 message 等于 WM_SIZE 时,表示显示窗的大小发生变化,
LOWORD(lParam); 是 WndProc 传进来的参数, WndProc 是这个参数的低位
HIWORD(lParam); 是这个参数的 高位。 哪个参数,它的高位是什么,低位是什么等等,都是 API 规定/约定 好的。
wParam 是 WndProc 函数第3个参数,lParam 是 WndProc 函数第4 个参数。
这两个参数含义 与 消息 message 有关。
WPARAM 是 无符号型 ( word 型)。
LPARAM 是 有符号长整数型。
更多追问追答
追问
然后呢?
不懂了~~
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询