CScrollbar单击直接定位

CScrollbar,CSliderCtrl这两个控件原理基本一样,在单击空白区域时,触发PAGE_UP或者PAGE_DOWN,而不能直接定位到单击点,非常头疼,看网上的解决办法,基本上都是自己响应鼠标消息,直接计算鼠标位置对应的值并SetPos到这一点,感觉不够严密。

最近在使用Codejock的界面库做一个项目,Codejock的优点在于源码全都能看见,今天在研究别的问题时,从代码里发现scrollbar还能响应Shift键,按住Shift键时,再点击空白处,就能直接定位到该点,而不是持续翻页了,试验了一下,对MFC标准CScrollbar也同样有效(更正,之前说对CSliderCtrl也有效,经试验无效),这从以前网上的文章中,从来都没提到过。感觉这应该是解决这个问题一个更加合适的切入点。

不过Codejock的Scrollbar类我们可以继承并重写,让其直接不使用Shift就能直接定位,对于标准MFC控件却不能直接这么办,不过Codejock这个控件也是从标准MFC控件继承来的,而且源码也都能看见,所以也不是没办法,把它的代码抄过来就行啦。至于有没有简便的办法,我做完这个项目有时间了再研究吧。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值