MFC-ComBox控件用法

向ComBox控件中插入字符串

方法1;

与控件关联CString类型变量

    //只能添加一个字符串
    m_combox = _T("test");
    UpdateData(FALSE);//要记得更新,否则不能显示
    //不能再OnCbnSelchangeCombox(控件事件)中这样用

方法2:
与控件关联控件变量

//可以添加很多字符串,会自动插入的
m_Combox.AddString(_T("test"));
m_Combox.AddString(_T("test"));
m_Combox.AddString(_T("test"));

方法3:
发送消息

    TCHAR buf[] = _T("test");
    ::SendMessage(GetDlgItem(IDC_COMBOX)->m_hWnd, WM_SETTEXT, sizeof(buf), (LPARAM)buf); //这个方法只能添加一个字符串

方法4:

    TCHAR buf[] = _T("test");
    SendDlgItemMessage(IDC_COMBOX, WM_SETTEXT, sizeof(buf), (LPARAM)buf);
    //这个方法只能添加一个字符串

方法5:

    //获取指向Combo的指针
    CComboBox* pCmb = (CComboBox*)GetDlgItem(IDC_COMBOX);

    pCmb->AddString(_T("test0"));
    只要得到这个指针就能像关联控件变量一样操作了

插入字符串

//第一个参数是索引,这个可以在任意位置插入
m_Combox.InsertString(0, _T("test"));
//如果开始combox中无字符串,则,Index不能大于0

选中一个字符串

    m_Combox.InsertString(0, _T("test0"));
    m_Combox.InsertString(1, _T("test1"));
    m_Combox.InsertString(2, _T("test2"));
    m_Combox.InsertString(3, _T("test3"));
    m_Combox.InsertString(4, _T("test4"));
    //选中第四个字符串
    m_Combox.SetCurSel(3);

获取选中的字符串并且删除它

    int iIndex = m_Combox.GetCurSel();
    m_Combox.DeleteString(iIndex);

获取Combox中的文本

    //获取指向Combo的指针
    CComboBox* pCmb = (CComboBox*)GetDlgItem(IDC_COMBOX);

    CString s;
    //获取当前选中的文本
    pCmb->GetWindowText(s);

    //获取任意位置的文本,只要它存在
    pCmb->GetLBText(1, s);

查找字符串

 //查找字符串,-1就是从头开始找,也可以指定从任何位置开始找
 int ifind = m_Combox.FindString(-1, _T("te"));

你可能感兴趣的:(mfc,控件,combox,CString)