2017-08-24 104 views
0

我有一个组合框,但只有当超过30个项目时才显示滚动条。它导致组合框变得太长 - 不能责怪它,但有时候,人们认为它是丑陋的。那么有没有办法限制组合框上的最大可见项 - 就像我有60个项目一样,组合框一次只显示10个项目,使用滚动条可以查看更多项目。MFC组合框:当有x个项目时显示组合框的滚动条

回答

0

使用CBS_DISABLENOSCROLL来始终显示滚动条。

定义对话框资源中较小的下拉宽度。

或者在程序中调整高度。

  1. 拦截CBN_DROPDOWN通知
  2. 计算你想要的大小。
  3. 呼叫GetComboBoxInfo得到hwndList
  4. 使用SetWindowPos与SWP_NOMOVE和SWP_NOZORDER改变大小
0

有没有办法来限制对组合框

布局你的组合框最大可见项目使用资源编辑器,并将光标设置到标有红色的位置:

enter image description here

然后,它立即更改布局,以这样的:

enter image description here

这是你如何设置框列表的高度。

+0

我试过这个,但它仍然显示30个项目,他们希望它只显示10个项目:( – 123iamking