combobox和listbox中的内容有的相同项有不同项,怎样实现选中combobox中的内容判断listbox中是否也存在,若存在,选中;若不存在,不选中。下面的代码有点问题,请高手指教:
void CStep1Dlg::OnSelchangeCombo1() 
{
CString strCombobox, strListbox;
m_Combo.GetLBText(m_Combo.GetCurSel(), strCombobox);
for (int i=0; i<m_List.GetCount(); i++)
{
m_List.GetText(i, strListbox);
if (strCombobox == strListbox)
m_List.SetCurSel(i);
  else
  m_List.SetCurSel(-1);
}
}
同样,选中listbox中内容判断combobox中是否存在,存在,则选中;不存在,让combobox显示空,下面这段代码也有点问题,快帮帮小弟吧~!!!
void CStep1Dlg::OnSelchangeList1() 
{  
CString strCombobox, strListbox;
m_List.GetText(m_List.GetCurSel(),strCombobox);
for (int i=0; i<m_Combo.GetCount(); i++)
{
m_Combo.GetLBText(i,strListbox); 
if(strListbox==strCombobox)
m_Combo.SetCurSel(i);
  else
  m_Combo.SetCurSel(-1);
}
}

解决方案 »

  1.   

    void CStep1Dlg::OnSelchangeCombo1() 
    {
    CString strCombobox, strListbox;
    m_Combo.GetLBText(m_Combo.GetCurSel(), strCombobox);
    for (int i=0; i<m_List.GetCount(); i++)
    {
    m_List.GetText(i, strListbox);
    if (strCombobox == strListbox)
    m_List.SetCurSel(i);
                               break;
      else
      m_List.SetCurSel(-1);
    }
    }选中以后要挑出循环啊,不然和下一个比,当然是不同的了,那么又是不选中,这样的话,除非和list中的最后一个相同,否则怎么都不会选中的了
      

  2.   

    在m_List.SetCurSel(i);后面加个
                               break;
    试试!!
      

  3.   

    哈哈,不好意思,我也光记得叫你加break
    忘记了这样两句的话,要加{}
    的,哈哈
    有意思,实现了吧