如何使用数据字段获取组合框显示值?

时间:2011-06-01 13:53:54

标签: c++ winapi visual-studio-2008 combobox

我在资源编辑器中将组合框数据设置为“first; second; third”,但是当我编译程序时,组合框完全是空的,我根本看不到任何项目。

另外,如何设置默认选择的项目?如何以编程方式更改当前选定的项目?

4 个答案:

答案 0 :(得分:2)

答案可以在这篇文章中找到:http://codeguru.earthweb.com/cpp/com-tech/atl/atl/print.php/c3599

资源编辑器添加的DLGINIT资源是在创建对话框后立即传递给子控件的消息列表。 MFC有代码在ExecuteDlgInit方法中自动执行此操作,因此基于MFC的解决方案将“正常工作”;其他人都必须提供自己的初始化代码。对话框编辑器插入的消息似乎也基于16位Windows API,需要转换为32/64位Windows。

我建议忽略对话框编辑器提供的初始化数据,并使用CB_ADDSTRING message放置初始字符串。

其他一些好建议:http://www.flounder.com/combobox.htm

答案 1 :(得分:0)

在Win32组合框上查看本教程:Introduction to Combo Boxes

如果您使用的是MFC CComboBox类,则需要使用方法AddString()InsertString()在组合框列表中添加元素。

答案 2 :(得分:0)

对于设置值,可以使用AddString()方法mycombobox.AddString(“first”); mycombobox.AddString( “第二”); mycombobox.AddString( “第三”);要设置索引,可以使用SetCurSel()方法并将其设置为默认值“first”。 mycombobox.SetCurSel(0);

答案 3 :(得分:0)

在“数据”字段中,输入以分号;分隔的值,如下所示:

line1;line2;line3

在初始化时,这些值中的每一个都将显示在一行中。

这适用于VS 2015,我认为可以追溯到VS 2008