动态调整组合框的宽度,以便显示整个字符串

时间:2014-12-09 08:09:54

标签: c++ c winapi combobox

我使用组合框控件来显示存储在数据库中的名称(我需要保留空间,这就是我使用它而不是列表视图的原因)。

我的问题是,有时文字比组合框长,所以无法看到它的一部分。

有没有办法调整组合框的大小?列表框所以它可以完全显示文本,或至少启用某种水平滚动,以便用户可以滚动查看整个文本?

通过组合框文档,我找不到任何可以解决我问题的风格。尝试在我的WS_HSCROLL电话中添加CreateWindowEx作为一种风格也无济于事。 谢谢。

1 个答案:

答案 0 :(得分:1)

您正在寻找CB_SETHORIZONTALEXTENT消息。

  

应用程序发送CB_SETHORIZONTALEXTENT消息以设置宽度(以像素为单位),通过该宽度可以水平滚动列表框(可滚动宽度)。 如果列表框的宽度小于此值,则水平滚动条会水平滚动列表框中的项目。如果列表框的宽度等于或大于此值,则隐藏水平滚动条,或者,如果组合框具有CBS_DISABLENOSCROLL样式,则禁用。

     

参数

     

的wParam
  指定列表框的可滚动宽度(以像素为单位)

     

的lParam
  不使用此参数。