c++ - 如何在 Win32 中创建带位图的组合框?

标签 c++ winapi combobox bitmap

我想创建一个像这样的自定义组合框(如在 MS Word 中),

alt text

是否有任何 Win32 API 调用(我不能使用 MFC)来完成这项工作,(例如 ChooseColor() 或 ChooseFont()?如果没有,谁能告诉我如何做?谢谢你。

问候,

编辑: 创建所有者描述的对话框!!这是唯一的方法吗? http://msdn.microsoft.com/en-us/library/bb775794%28VS.85%29.aspx#creating_square_meal

最佳答案

您有一些选项可以解决您的问题:

  1. 所有常用控件都支持WM_SETFONT,因此如果您找到一个包含您需要的所有行元素的字体,您可以更改组合框控件的字体并用相应的文本填充项目。
  2. ComboBoxEx 控件,它结合了图像和文本(参见 http://msdn.microsoft.com/en-us/library/bb775738(VS.85).aspx )。小心,项目的哪一部分将被选中(试试看)。如果您可以稍微更改对组合框控件的要求,您将能够使用它。
  3. 您可以使用自绘组合框。然后你就完全自由了,但是你的代码可以稍微长一点,如果你使用非标准的 windows 颜色 shema 或非默认的 theams,你应该更加小心。在这种情况下,我建议您使用函数 GetSysColor

您应该欺骗自己,哪种方式最适合您的项目要求。

关于c++ - 如何在 Win32 中创建带位图的组合框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3012559/

相关文章:

C++解释器概念问题

python - 如何使用 Python 将按钮(加载项)添加到 Outlook

c++ - GetUserNameExA 函数无法在系统启动时(GINA)提供用户详细信息?

Windows系统编程

python - Tkinter 组合框 - 单击小部件时优雅地失去焦点

c++ - 无法从文件中读取 unicode(日语)

c++ - 什么时候应该使用 STL 算法而不是使用您自己的算法?

javascript - jQuery Combobox//向下箭头问题

extjs - 组合框 ext 4.0 中的动态滚动

c++ - EWOULDBLOCK 是否适用于 sendto()?