MFC中的ListBox Control控件的水平滚动条设置

  最近使用到MFC中ListBox Control控件,在控件的属性中存在水平滚动条和垂直滚动条的设置,本以为都设置为True即可,可实际效果却不是这样。实际使用时只有垂直滚动条起效果,水平滚动条没出现。经过查找资料,找到一个便捷的解决方法。现将完整步骤整理下来:

1,首先在ListBox控件的属性中将“Horizontal Scroll”设置为True。
2,为ListBox添加关联变量 :CListBox m_ListBox。
3,在程序初始化部分添加如下代码,设置ListBox水平范围,只要设置的值大于ListBox控件的长度,就会出现水平滚动条:

m_ListBox.SetHorizontalExtent(1000); 

其中,1000是指ListBox的Item的最大长度,可根据具体设置。

函数原型:

CListBox::SetHorizontalExtent
void SetHorizontalExtent( int cxExtent );

参数: cxExtent 指定列表框可水平滚动的像素数。

说明:
1)设置列表框可水平滚动的宽度,用像素表示。如果列表框大小小于此值,水平滚动条将水平滚动列表框中的项。如果列表框与此值一样大或更大,水平滚动条被隐藏。
2)回应对SetHorizontalExtent的调用,列表框必须定义为WS_HSCROLL风格。
3)此成员函数对多列的列表框有用。对多列列表框调用SetColumnWidth成员函数。

友情链接:
http://blog.sina.com.cn/s/blog_5e8392b10100xuux.html

展开阅读全文

没有更多推荐了,返回首页