鱼C论坛

 找回密码
 立即注册
查看: 4646|回复: 1

[知识点备忘] 第012讲:滚动条

[复制链接]
发表于 2015-8-20 22:32:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
知识点回顾:


1. 获得客户区的尺寸有几种途径

如果你的客户区永远都是最大化状态,那么你可以通过上节课我们介绍的 GetSystemMetrics 函数,通过将 SM_CXFULLSCREEN 和 SM_CYFULLSCREEN 作为参数来获得当窗口被最大化时客户区的尺寸。

当然,你可以通过实时调用 GetClientRect 函数来获取当前客户区的大小。这都没有问题,但如果每次窗口尺寸一改变,我们就要调用一次 GetClientRect 函数,就显得没什么效率了。

那有没有更好的方法呢?其实是有的,当主窗口的客户区部分大小改变时,操作系统将给应用程序发送 WM_SIZE 消息,并把客户区新的宽度和高度分别存放在 lParam 参数的低 16 位和高 16 位。


2. 如何从 32 位的 lParam 参数中分离出低 16 位和高 16 位呢?

Windows 提供了两个宏来解决这个问题:LOWORD 和 HIWORD 宏


3. 如何在窗口上显示滚动条?

CreateWindow 的时候,第三个参数加上 WS_VSCROLL 或 WS_HSCROLL 即可添加对应的垂直滚动条或水平滚动条。


4. 当用户单击滚动条或拖动滑块时,Windows 就会向窗口过程发送 WM_VSCROLL 消息或 WM_HSCROLL 消息。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-21 22:10:54 | 显示全部楼层
小甲鱼又回归了吗:loveliness:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 10:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表