窗口滚动条与滚动条控件的区别

     先前我写了一篇关于窗口滚动条的博客,链接是 http://blog.csdn.net/zhongjling/article/details/7796932

     对于滚动条控件,其实也用的很多的。链接是  http://www.jizhuomi.com/software/191.html。

      窗口滚动条与滚动条控件二者的使用步骤当然有所不同,但是注意,二者响应滑条滚动时,都是响应的 WM_HSCROLL消息使用OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 作为消息响应函数的。那么如果一个窗口里,既有窗口滑条,又有控件滑条,系统如何区分用户到底在操作哪一类滑条?(WM_VSCROLL 类似,不叙)


     经过查找,发现以下解释是合理的:

区别在于OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 里的参数pScrollBar。

If the scroll message came from a scroll-bar control, contains a pointer to the control. If the user clicked a window's scroll bar, this parameter is NULL. The pointer may be temporary and should not be stored for later use.

滚动条控件(CScrollBar)发送WM_HSCROLL消息时pScrollBar是指向控件的指针。
如果是窗口的滚动条,pScrollBar就是NULL。经测试,确实如此!

参见 http://emuch.net/html/201011/2526841.html



另外注意一点:

WM_HSCROLL 与 Releasecapture响应是不一样的,前者是立刻马上、后者是释放鼠标后见效。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值