当前位置:编程学习 > VC++ >>

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

  窗口滚动条与滚动条控件二者的使用步骤当然有所不同,但是注意,二者响应滑条滚动时,都是响应的 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。经测试,确实如此!


 

 

 

 

另外注意一点:

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

 

 

 


 

补充:软件开发 , Vc ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,