设为首页 加入收藏

TOP

四、Windows子窗口控件的滚动条类别
2012-11-05 12:28:16 】 浏览:552
Tags:Windows 窗口 控件 滚动 类别

我在第四章首次讨论了滚动条,也讨论了「窗口滚动条」和「滚动条控件」之间的一些区别。SYSMETS程序使用窗口滚动条,它出现在窗口的右边和底部。您可以在建立窗口时通过将标识符WS_VSCROLL、WS_HSCROLL或者两者都包含在窗口样式中,让窗口加上滚动条。现在我们准备建立一些滚动条控件,它们是能在父窗口的显示区域的任何地方出现的子窗口。您可以使用预先定义的窗口类别「scrollbar」以及两个滚动条样式SBS_VERT和SBS_HORZ中的一个来建立子窗口滚动条控件。

与按钮控件(以及将在后面讨论的编辑和清单方块控件)不同,滚动条控件不向父窗口发送WM_COMMAND消息,而是像窗口滚动条那样发送WM_VSCROLL和WM_HSCROLL消息。在处理卷动消息时,您可以通过lParam参数来区分窗口滚动条与滚动条控件。对子窗口滚动条其值为0,对于滚动条控件其值为滚动条窗口句柄。对窗口滚动条和滚动条控件来说,wParam参数的高字组和低字组的含义相同。

虽然窗口滚动条有固定的宽度,Windows使用CreateWindow呼叫中(或者在后面的MoveWindow呼叫中)给定的矩形尺寸来确定滚动条控件的尺寸。您可以建立细而长的滚动条控件,也可以建立短而粗的滚动条控件。

如果您想建立与窗口滚动条尺寸相同的滚动条控件,那么可以使用GetSystemMetrics取得水平滚动条的高度:

GetSystemMetrics (SM_CYHSCROLL) ;        
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇四、Windows子窗口控件的滚动条类.. 下一篇三、Windows子窗口控件的静态类别

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目