首先拖动一个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); //默认选择第一个 }
初始化好了后,就该使用了,我们在图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); //如果有的话,删除 } }
