我在资源编辑器中将组合框数据设置为“first; second; third”,但是当我编译程序时,组合框完全是空的,我根本看不到任何项目。
另外,如何设置默认选择的项目?如何以编程方式更改当前选定的项目?
答案 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放置初始字符串。
答案 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