Windows SDK 笔记 12



1.获得客户区的途径
a.对于最大化的窗口有GetSystemMetrics(SM_CXFULLSCREEN) -> 宽度
GetSystemMetrics(SM_CYFULLSCREEN) ->高度

b.调用GetClientRect()来获取当前客户区的大小

c.当窗口的客户区部分大小改变时,操作系统将给应用程序发送WM_SIZE消息,
并把客户新的宽度和高度分别存放在lParam参数的低16位和高16位,
至于分离lParam的高低16位可以用宏LOWORD(lParam)和HIWORD(lParam).

2.安全字符串的头文件为strsafe.h

3.如何添加滚动条?
在CreateWindow()的时候,在第三个参数加上WS_VSCROLL(垂直),或者WS_HSCROLL(水平);
V->Vertical; H->Horizontal

4.滚动条的滚动功能?
总体上分为滚动一行,滚动一页,用鼠标拖着滚。

5.当滚动条被使用时,会触发WM_VSCROLL消息 或者 WM_HSCROLL消息
处理WM_VSCROLL消息 或者 WM_HSCROLL消息时,关注wParam。
wParam的低16位表明鼠标对滚动条的动作(称为通知码,SB开头的标识符),高16位表明滑块的最终位置。

6. 给窗口添加滚动条会改变窗口原本的尺寸吗?0oce^nS
DP?>o
答:不会,添加滚动条,只会影响到该窗口客户区的尺寸,整个窗口的大小是不变的.A
$0JOH2
7. 如何获取滚动条的尺寸?dOHLe,CQN
XoxdI
答:使用 GetSystemMetrics 函数即可获得有关滚动条的所有尺寸,以下根据需求对号入座。hTv9W
=8ZF0WC+l
SM_CXHSCROLL(21)         水平滚动条上箭头位图的宽度*
SM_CXVSCROLL(2)           垂直滚动条的宽度
SM_CYHSCROLL(3)           水平滚动条上箭头位图的高度xZAwE#h(
SM_CYVSCROLL(20)         垂直滚动条的宽度_{lY]bxp7D
SM_CYVTHUMB(9)           垂直滚动条滑块框的高度jynY1
#^'dy
8.wParam:指出窗口的新状态


wParam 参数可以是下列值之一:

含义
SIZE_MAXHIDE(4)当该应用程序的其他窗口被最大化的时候,消息被发送往所有的弹出窗口
SIZE_MAXIMIZED(2)该窗口被最大化
SIZE_MAXSHOW(3)当该应用程序的其他窗口已经恢复到原来大小的时候,消息被发送往所有的弹出窗口
SIZE_MINIMIZED(1)该窗口被最小化
SIZE_RESTORED(0)该窗口的大小发生变化,但不是最大化(SIZE_MAXIMIZED)或最小化(MINIMIZED)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值