我有一个CComboBox型的控件,设置为可编辑类型。如何才能获取输入框里面的内容啊?我用UpdateData();然后m_combobox.GetWindowText(str),这样会报错,卡在了ASSERT (nNewLength >= 0)这句话,这是怎么回事啊?

解决方案 »

  1.   

    如果内容是字符串形式的话?
    int nselect=m_combobox.GetCurSel();  //获取当前组合框选项的索引
    CString szname;
    m_combobox.GetLBText(nselect,szname);  //获取组合框里的标题内容
      

  2.   

    你在这一步:m_combobox.GetWindowText(str)设置断点,然后单步调试看看什么时候进行到为一句ASSERT (nNewLength >= 0),然后再分析原因
      

  3.   

    不行就直接使用获得控件文件试下CString Str;
    GetDlgItemText(IDC_COMBOBOX1,Str);//IDC_COMBOBOX1为你控件的ID
      

  4.   

    int nselect=m_combobox.GetCurSel(); //获取当前组合框选项的索引
    CString szname;
    m_combobox.GetLBText(nselect,szname); //获取组合框里的标题内容该方法 只能获取 Combox已经有的项 对于 获取手动输入的 数据时 还是没解决问题
      

  5.   

    int nIndex = ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();
    CString strCBText;
    ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetWindowText(strCBText);这样手动的也行,试验成功~
      

  6.   


    CString strName = _T("");
    m_combobox.GetLBText(m_combobox.GetCurSel(),strName); //获取组合框里的标题内容
      

  7.   

    wangzh7678 的说法正确,感谢
      

  8.   

    你将数据加进入不就行了CComboBox::AddString/InsertString()