CComboBox::SelectString使用时注意事项
搜索在组合框的列表框中的字符串,并且,如果找到该字符串,选择列表框和复制的字符串到编辑控件。
int SelectString(
int nStartAfter,
LPCTSTR lpszString
);
参数
--------------------------------------------------------------------------------
nStartAfter
在要搜索的第一项之前包含项的从零开始的索引。 在搜索到达列表框的底部时,它从列表框的顶部继续回 nStartAfter指定的项。 如果 – 1,整个列表框从开始处搜索。
lpszString
指向包含标题搜索的 NULL 终止的字符串。 搜索区分大小写的,因此,此字符串可以包含大写和小写字母的任意组合。
返回值
--------------------------------------------------------------------------------
选定项的从零开始的索引, 如果搜索不成功,则返回值是 CB_ERR ,并且不更改当前选择。
备注
--------------------------------------------------------------------------------
搜索字符串时,仅在其初始字符 (从起点) 与前缀字符串的字符。
请注意 SelectString 和 FindString 成员函数两个查找字符串,但是, SelectString 成员函数来选择该字符串。
示例
--------------------------------------------------------------------------------
// The string to match.
LPCTSTR lpszSelect = _T("item");
// Select the item that begins with the specified string.
int nSel = m_pComboBox->SelectString(0, lpszSelect);
ASSERT(nSel != CB_ERR);
注:
如下图所示,Data框中有1到15个COM串口
获取数据和设置的代码如下
LPCTSTR lpszSelect = _T("");
m_pComboBox->GetWindowText(lpszSelect, 10 );
m_pComboBox->SelectString(0, lpszSelect);
在组合框中选择com1后,保存设置,如下图所示
重新打开后,变为COM10,如下图所示
处理方法是把SelectString的索引值改为-1,整个列表框从开始处搜索,如果为0,则从索引为0处开始搜索,将会跳过COM1
注意:本文归作者所有,未经作者允许,不得转载