假设在C++中为Win32 API编程,我会知道是否可以在菜单栏中包含DropDownList(具有CBS_DROPDOWNLIST样式的COMBOBOX窗口)。如何使用Windows API在菜单栏中包含DropDownList?
在这方面或任何开始学习该主题的任何灯光将不胜感激。
假设在C++中为Win32 API编程,我会知道是否可以在菜单栏中包含DropDownList(具有CBS_DROPDOWNLIST样式的COMBOBOX窗口)。如何使用Windows API在菜单栏中包含DropDownList?
在这方面或任何开始学习该主题的任何灯光将不胜感激。
所有者绘图是自定义内置API菜单的唯一选项。不仅是后方巨大的疼痛,它仍然不会产生你想要的效果。您必须手动绘制组合框并编写代码来响应所有鼠标事件,而不是仅仅放入标准组合框控件。
我的建议是使用模拟菜单栏而不是标准菜单栏的工具栏或rebar control。这是Windows(和Internet)Explorer在绘制菜单栏时所做的工作,它为您提供了更多的灵活性,可以包含哪些控件。
有一个如何做到这一点使用可用的工具栏这里的完整描述:
Creating an Internet Explorer-style Menu Bar
,你可以找到示例代码螺纹钢这里:Using Rebar Controls
如果您准备处理所有的绘画消息,您最终可以对应用程序的客户端区域执行任何操作。你准备投入多少工作和代码?
Boofhead:关于这项工作,没有人能够做到,但我不会过度增加可执行文件的大小,而只是为了包括一个化妆品改进 - 组合框也可以是主窗口的客户区域。 我的第一个想法是包括经典的风格,但我有如何获得菜单栏的“处理”做测试的问题。它也必须对控制进行“分类”。 – 2011-02-12 11:31:13
科迪格雷:谢谢你的建议。我觉得在这种情况下,关于钢筋控制的建议是“银弹”。我会在接下来的几天尝试它,希望不必再问这个问题。顺便说一下,我希望在最后一次发现M $站点中的一些简单的C/C++示例,但我觉得有些迷失方向,因为所有的东西都与.NET C#以及所有“新”小工具有关。 – 2011-02-12 11:52:50