如果只有3个项目,如何防止所有者绘制的组合框中的垂直滚动条?

时间:2015-12-25 13:21:31

标签: visual-c++ combobox mfc

我对一个组合框控件进行了分类,使文本垂直居中。这里的问题是,当我第一次展开控件时,组合框中只有3或4个项目时,我得到一个垂直滚动条,其中不需要垂直滚动。

控制属性设置如下。

COMBOBOX IDC_COMBOBOX,28,45,205,65,CBS_DROPDOWNLIST | CBS_OWNERDRAWNFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP.

当我删除WS_VSCROLL时,垂直滚动条不会出现。但是如果我删除了这个属性,当组合框中存在太多项目时,我将无法获得滚动条,实际上需要滚动。

请查看下面的图像,以供参考控制器的行为。

运行MFC应用程序。

展开组合框。 enter image description here

再次尝试扩展组合框问题不再现。它只发生了 这是第一次扩展控件。 enter image description here

我无法弄清楚为什么会出现这个问题。我尝试删除现有的控件,并再次尝试添加新的控件,期望它是否会带来行为的任何改变,但没有运气。

项目高度设置为30,如下所示。

m_ComboBox.SetItemHeight(-1, 30);

我的原始应用程序中有两个组合框控件,如图所示。

感谢任何帮助。

0 个答案:

没有答案