cxClient = LOWORD ( lParam )这是什么意思啊?

cxClient=LOWORD(lParam);cyClient=HIWORD(lParam);这是Windows程序设计书中的一段代码。我想问问,这返回的是什么东西?是... cxClient = LOWORD ( lParam );
cyClient = HIWORD ( lParam );
这是Windows 程序设计书中的一段代码。我想问问,这返回的是什么东西?
是窗口的坐标?有什么意义?
case WM_SIZE:
cxClient = LOWORD ( lParam );
cyClient = HIWORD ( lParam );
展开
 我来答
猫江的18
推荐于2016-03-07 · TA获得超过350个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:201万
展开全部
这几乎是SDK+C程序里,最最普遍的一段代码
在WM_SIZE消息中:lParam参数包含32位的int型整数,低16位是窗口客户区长度,高16位是高度.
LOWORD 和 HIWORD是专门提取高低字位的宏

所以cxClient和cyClient是当用户调节了窗口尺寸后的,客户区的长度和高度.
youku0513
2009-11-12
知道答主
回答量:24
采纳率:0%
帮助的人:6.2万
展开全部
所以cxClient和cyClient是当用户调节了窗口尺寸后的,客户区的长度和高度.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-11-12
展开全部
首先:当主窗口的客户区部分大小改变时,应用程序将接收到 WM_SIZE 消息。消息中包括了改变大小后的客户区的大小值,这些值包含在参数 lParam(双字类型,32位无符号整型) 中, lParam 的高字部分是客户区的高,底字部分是客户区的宽。


LOWORD和HIWORD就是取双字类型变量的低字和高字的两个宏变量,双字类型是32位无符号整型,字是16位无符号整型,宏定义如下:
#define LOWORD(l) ((WORD)(((DWORD_PTR)(l)) & 0xffff))
#define HIWORD(l) ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))

当窗口大小改变时,使用
cxClient = LOWORD ( lParam );
cyClient = HIWORD ( lParam );
获得了新客户区的大小,然后用新的大小重新调整显示内容,让它们适应新的窗口大小。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pigkiller23
2009-11-12 · TA获得超过1750个赞
知道小有建树答主
回答量:736
采纳率:0%
帮助的人:552万
展开全部
差不多吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式