CComboBox的SelectString函式有弊端-m_combo_xxx_.SelectString(0, strTxt); 重複字首時,有問題

曦花發表於2024-11-28

CComboBox的SelectString函式有弊端

CComboBox中字串透過AddString新增後,

比如 天氣1、天氣2、天氣222,天氣234

CComboBox呼叫SelectString(0, _T("天氣2"))函式有弊端。可能會選擇的是 天氣222


應該用for迴圈判斷

m_comBoText.GetWindowText(strText);

if (strText == 你要選擇的內容)

  m_comBoText.SetCurSel(i);

才可以避免當內容有字首重複的情況,選擇出錯。

void CDlgXXX::SetComboBo(CBCGPComboBox& combo, CString strSel)
{
	//m_combo_xxx_.SelectString(0, strTxt);    重複字首時,有問題
	CString strItem = _T("");
	int iCount = combo.GetCount();
	for (int i = 0; i < iCount; ++i)
	{
		combo.GetLBText(i, strItem);
		if (strItem == strSel)
		{
			combo.SetCurSel(i);
			break;
		}
	}
}

  

相關文章