MFC COMBO-BOX控件教程

    技术2022-08-11  98

     

    1、初始化COMBO BOX

    首先拖动一个COMBO BOX控件到 界面,右键 --》添加变量

    类别选Control,类型是COMBOBOX,变量名我们输入m_cb1。

     

    COMBO BOX有一个下拉列表,我们现在要把那些下拉的字符串添加到COMBO BOX中,即初始化COMBO BOX。初始化,我们放到对话框类的OnInitDialog函数中。CComboBox类的AddString方法,用于添加这些字符串。

    BOOL CRRDlg::OnInitDialog()  //对话框的初始化,我的项目名叫RR  {      CDialog::OnInitDialog();         m_cb1.AddString(_T("Alice"));   //添加字符串      m_cb1.AddString(_T("Bob"));      m_cb1.AddString(_T("Charlie"));      m_cb1.AddString(_T("David"));      m_cb1.AddString(_T("Bob"));        m_cb1.SetCurSel(0);   //默认选择第一个  }  

    2、检索COMBO BOX

     

    初始化好了后,就该使用了,我们在图1 所示的下拉列表中选择一个,然后点击Button1,弹出一个框,告诉我们,刚才是选择了哪个。在IDE中,双击Button1,添加处理代码。

    void CRRDlg::OnBnClickedButton1()  {      // TODO: 在此添加控件通知处理程序代码      UpdateData(TRUE);                       //这个函数的使用请参考数据交换UpdateData,那篇文章      int index = m_cb1.GetCurSel();       //这个函数用于得到用户选择的是下拉列表中的第几行,第一行的话,返回0,依次类推      CString strI;      strI.Format(_T("%d"),index);      CString strC;      m_cb1.GetLBText(index,strC);        //根据行号,这个可以得到那行的字符串      strC += strI;      MessageBox(strC);        index = m_cb1.FindStringExact(0,_T("Bob"));    //检索下来列表中是否有Bob这个字符串      if (CB_ERR != index)      {          strC.Format(_T("%d"),index);          MessageBox(strC);          m_cb1.DeleteString(index);    //如果有的话,删除      }  }  

     

    Processed: 0.014, SQL: 9