我有一个 CComboBox 类型DropList
(即它不可编辑)。通过字符串设置当前选择的最简单方法是什么?
我知道我可以使用SetCurSel()
按索引设置它,但我希望该函数按字符串搜索列表项并设置它。
您可以致电精确查找字符串() https://msdn.microsoft.com/en-us/library/yzf0ht83.aspx获取要选择的字符串的索引,然后将该索引传递给设置当前选择() https://msdn.microsoft.com/en-us/library/at7s2662.aspx:
yourComboBox.SetCurSel(yourComboBox.FindStringExact(0, yourString));
请注意,在组合框中找不到该字符串,-1
将被传递到SetCurSel()
,这将导致之前的任何选择被清除。如果该行为不适合您,您可能需要执行显式测试。
注意麦克斯的回答 https://stackoverflow.com/a/32867469/464709应该是新开发的首选。然而,SelectString()
仅从 Windows Server 2003 开始受支持,因此您可能无法利用它,具体取决于您想要支持的平台。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)