在 CComboBox (MFC) 中设置文本选择

2024-02-02

我有一个 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(使用前将#替换为@)

在 CComboBox (MFC) 中设置文本选择 的相关文章

随机推荐