MFC COMBO-BOX最详细教程

找了好多,这是讲的最清楚的,与大家共享!

转:https://blog.csdn.net/fym0121/article/details/7515862

当你只需从一列对象中选出一个时,使用COMBO BOX是一个好主意,因为它节省空间。这篇文章讲述了如何使用COMBO BOX操作一列对象。

 

 

1、初始化COMBO BOX

我假设读者已经新建了一个对话框,并将一个COMBO BOX 拖放到这个对话框上。现在,右键那个COMBO BOX控件 --> 添加变量。类别选Control,类型是COMBOBOX,变量名我们输入m_cb1。

大家会发现,在我们项目的对话框类中,已经加入了CComboBox  m_cbExample;  的定义

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

 

[cpp] view plain copy

  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,添加处理代码。

 

 

[cpp] view plain copy

  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. }  
阅读更多
上一篇c++批量读取文件------获取文件名
下一篇严重性代码说明项目文件行 禁止显示状态错误 C4996 fopen('fscanf'、strcmp):This function or variable may be unsafe. 最全解决办法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭