首页 文章

CComboBox中的下拉高度错误(常见控件6.0)?

提问于
浏览
2

我已经制作了一个简单的MFC应用程序(Visual Studio 2008,基于对话框)并使用资源编辑器添加了CComboBox . 我使用资源编辑器指定下拉高度 . 然后我添加了一些代码来向组合框添加100个文本 . 如果我运行这个简单的应用程序,则忽略下拉高度 . 如果我禁用Microsoft.Windows.Common-Controls 6.0.0.0样式(禁用将其添加到清单文件的pragma),那么一切正常 .

有没有人注意到这种行为(并且知道解决方案)?我搜索过网络和msdn,但到目前为止没有运气 .

2 回答

  • 0

    我发现的唯一解决方案(对于Microsoft MFC新闻组中的某人)是使用CBS_NOINTEGRALHEIGHT标志,该标志指出组合框必须查看用户指定的确切大小,而不是自动调整它(这是一个补丁的原因)是标志通常用于禁用调整dropheight的功能,以便不渲染部分项目) .

  • 2

    区别在于“新”Common-Controls-6.0风格的组合框,或“原始”旧式组合框(6.0之前版本) .

    我猜微软最终"fixed" ComboBox控件所以它根据项目数和可用的屏幕空间动态地改变下拉的高度,这比具有固定高度(恕我直言)更好 .
    不幸的是,我没有任何消息来源,只是疯狂猜测:)

相关问题