- 公开视频 -> 链接点击跳转公开课程
- 博客首页 -> 链接点击跳转博客主页
目录
[组合框(Combo Box) - CComboBox](#组合框(Combo Box) - CComboBox)
组合框(Combo Box) - CComboBox
基本概念
-
组合框类型:组合框可以是简单的(只能从列表中选择),也可以是下拉式的(允许用户输入和选择)。
-
数据绑定:组合框可以绑定到数据源,以便动态显示数据。
-
事件处理:可以响应用户的选择事件,如选择项的改变。
成员方法
-
Create:创建组合框控件并将其附加到
CComboBox
对象。 -
AddString:向组合框的列表部分添加一个字符串。
-
DeleteString:从组合框的列表部分删除一个字符串。
-
InsertString:在组合框的列表部分的指定位置插入一个字符串。
-
ResetContent:清除组合框中的所有字符串。
-
GetCount:获取组合框中字符串的数量。
-
GetCurSel:获取组合框中当前选中项的索引。
-
SetCurSel:设置组合框中当前选中的字符串。
-
GetLBText:从组合框的列表部分获取指定索引的字符串。
-
GetLBTextLen:获取组合框的列表部分指定索引的字符串长度。
-
SetDroppedWidth:设置组合框下拉列表的最小宽度。
示例代码
cpp
void CMainDlg::OnBnClickedButton18()
{
CString strComboText;
m_ComboItem.GetWindowTextW(strComboText);
if (strComboText.IsEmpty() == FALSE)
{
m_ComboBox.AddString(strComboText);
}
}
void CMainDlg::OnBnClickedButton22()
{
if (m_ComboBox.GetCount() > 0)
{
m_ComboBox.SetCurSel(0);
}
}
void CMainDlg::OnBnClickedButton19()
{
int nIndex = m_ComboBox.GetCurSel();
if (nIndex != CB_ERR)
{
m_ComboBox.DeleteString(nIndex);
OnBnClickedButton22();
}
}
void CMainDlg::OnBnClickedButton20()
{
int nIndex = m_ComboBox.GetCurSel();
if (nIndex != CB_ERR)
{
CString strComboText;
m_ComboItem.GetWindowTextW(strComboText);
m_ComboBox.InsertString(nIndex, strComboText);
}
}
void CMainDlg::OnBnClickedButton21()
{
m_ComboBox.ResetContent();
}
void CMainDlg::OnBnClickedButton23()
{
int nIndex = m_ComboBox.GetCurSel();
if (nIndex != CB_ERR)
{
CString strComboText;
m_ComboBox.GetLBText(nIndex, strComboText);
AfxMessageBox(strComboText);
}
}
void CMainDlg::OnCbnDropdownCombo2()
{
m_ComboBox.ResetContent();
CString strComboText;
for (size_t i = 0; i < 5; i++)
{
strComboText = "Item";
m_ComboBox.AddString(strComboText);
}
}