我有一个 CComboBox 类型DropList(即它不可编辑)。按字符串设置当前选择的最简单方法是什么?
我知道我可以用SetCurSel()索引来设置它,但我希望函数按字符串搜索列表项并设置它。
您可以调用FindStringExact()来获取要选择的字符串的索引,然后将该索引传递给SetCurSel():
yourComboBox.SetCurSel(yourComboBox.FindStringExact(0, yourString));
Run Code Online (Sandbox Code Playgroud)
请注意,在组合框中找不到字符串,-1将传递给SetCurSel(),这将导致清除任何先前的选择。如果该行为不适合您,您可能需要执行显式测试。
请注意,对于新的发展,Max 的答案应该是首选。但是,SelectString()仅从 Windows Server 2003 开始支持,因此您可能无法利用它,具体取决于您要支持的平台。
CComboBox::SelectString 怎么样?
“在组合框的列表框中搜索字符串,如果找到该字符串,则选择列表框中的字符串并将其复制到编辑控件。”
https://msdn.microsoft.com/en-us/library/30ft9e54(v=vs.110).aspx
| 归档时间: |
|
| 查看次数: |
7232 次 |
| 最近记录: |