MFC COMBO-BOX控件教程
发布日期:2021-05-07 14:35:54 浏览次数:27 分类:原创文章

本文共 1067 字,大约阅读时间需要 3 分钟。

 

1、初始化COMBO BOX

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

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

 

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

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

2、检索COMBO BOX

 

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

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

 

上一篇:MFC listbox高亮显示某行
下一篇:String 与 char* 相互转换

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月16日 05时47分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章