1 定义
CComboBox m_FontList;
2 添加一个元素(默认添加在末尾)
CString temp; temp=_T("elem"); m_FontList.AddString(str)
CString str; for (int i=0;i < 20;i++) { str.Format(_T("item string %d"), i); pmyComboBox->AddString( str ); }
首先 使 SORT属性值为FALSE 。。。。。。这个列表框中的数据次序才为代码中添加的次序
另外 使NO Integral Height 属性设为TRUE。。。。。这样下拉列表框的高度才为初始设置的高度,否则则是有多少项便显示多少项的高度
3 在指定位置添加元素
m_FontList.InsertString(0,L"默认"); //在起始位置添加
m_FontList.InsertString(-1,L"默认"); //在末尾位置添加
4 删除指定元素
删除次序, 为从后往前进行删除。
因为,删除某个元素后, 此元素之后的位置发生变化,
若从前往后删除, 则后面元素位置发生了变化,不能使用原来的位置
而从后往前删除时, 因当前元素之前的位置不改变, 所以 使用的仍是原来的位置
extern CComboBox* pmyComboBox; // Delete every item from the combo box. for (int i = pmyComboBox->GetCount()-1; i >= 0; i--) { pmyComboBox->DeleteString( i ); }
删除所有的元素
void ResetContent( );
CString str; m_ComboBox.GetLBText(nIndex,str);
6 获得当前位置的元素
//获得当前位置索引 int nIndex=m_ComboBox.GetCurSel(); //获得当前位置元素 CString str; m_ComboBox.GetLBText(nIndex,str);
7 设置列表框当前显示的元素
int nCount = pmyComboBox->GetCount(); if (nCount > 0) pmyComboBox->SetCurSel(nCount-1);
8 寻找指定字符串,并将其设置为当前显示元素
CString str=L"搜索"; int nIndex=-1; //nIndex为-1 表示:从组合框的开始 搜索所有项 nIndex=m_ComboBox.FindStringExact(nIndex, str); if (nIndex==CB_ERR) m_ComboBox.AddString(str); else m_ComboBox.SetCurSel(nIndex);