VC 下拉框 CComboBox

来源:互联网 发布:趋势分析软件 编辑:程序博客网 时间:2024/04/28 04:18

1)初始化
方法1.
     资源管理器中,右击列表框,选属性。在“数据”栏中,输入静态选项,VS2003以上版本,用“;”分隔。VC6的话,按Ctrl+Enter分隔。所输入的项,程序运行时,就会在下拉框中存在。
方法2.
    在OnInitDialog函数中,初始化下拉框。添加数据。在对话框的 OnInitDialog里面,
CComboBox* combo= ( CComboBox*)GetDlgItem(ID_COMBO1);
combo->AddString("A");
combo->AddString("b");
combo->AddString("c");

设置behavior 中的sort为false,否则会自动排序;
combo->SetCurSel(0);// 设置默认显示的项目,比如设置0,显示A;
 


2)使用selchange
    在对话框编辑器上,选中combo控件,属性,事件。选中CBN_SELCHANGE,下拉中选中哪个函数,就能产生事件函数入口了。
 
void CCamParmSet::OnSelchangeCombo1()
{
 // TODO: Add your control notification handler code here
  switch(m_CalibMethod.GetCurSel())
   {
   case 0://选择第一项
    MessageBox("你选择了第一项");
    break;
   case 1://选择第二项
    //选择第二项的响应
     MessageBox("你先择了第2项");
    break;
//   case 2://选择第二项
//    MessageBox("你先择了第3项");
//    break;
   }
}
 
===================================================================================
combox添加数据不能显示
combox设置的下拉显示大小太小


       在对话框模板上选择combox控件,然后点中右边的箭头,然后把下拉显示拖大
怎样禁止combox控件的输入?
Combo   Box的风格中的类型选择成为Drop   List。
 
怎样设置成combox控件可以输入?
Styles 中的 Type 选择DropDown。
 
如何添加combox子项?
 CComboBox m_ComBox;
 m_ComBox.Attach(GetDlgItem(IDC_COMBO_OSDPOS));
 m_ComBox.AddString(_T("1"));
 
怎样设置combox当前选项?
 m_combox.SetCurSel(0);
 
怎样获取combox当前选项?
 int index = m_combox.GetCurSel();
 
如何添加combox子项,并设为当前选项?
 TCHAR szTemp[16], szTT[16];
 _stprintf(szTemp, _T("%d"), m_stConfigParam.TimeRAR);     
 for(int i = 0;i < m_ComBox.GetCount(); i ++)
 {      
  m_ComBox.GetLBText(i, szTT);
  if(lstrcmp(szTT, szTemp) == 0)
  {

   m_ComBox.SetCurSel(i);

本文转自:http://blog.sina.com.cn/s/blog_7c5bff1501012p1h.html