组合框使用之添加组合框的列表项

标签:
杂谈 |
分类: MFC小程序 |
http://s10/middle/6f2d29af4ba419da439d9&690
框1:组合框Combo Box,关联Control类型m_ctlCombo
框2:静态文本框Static Text 关联Value类型 CString m_static
框3:编辑框Edit Control 关联Value类型 CString m_edit
一、初始化对话框OnInitDialog函数
BOOL CTest60BaseComboBoxDlg::OnInitDialog()
{
CDialog::OnInitDialog();
......
// TODO:
在此添加额外的初始化代码
m_ctlCombo.AddString(L"Visual
C++程序开发技术");
m_ctlCombo.SetCurSel(0);
int nselect=m_ctlCombo.GetCurSel();
m_ctlCombo.GetLBText(nselect,m_static);
UpdateData(false);
return
TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
二、组合框选项改变时,实时显示当前选择项
为组合框添加CBN_SELCHANGE消息响应函数
1.在头文件中给出消息响应函数的声明
......
afx_msg void
OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void
OnPaint();
afx_msg
HCURSOR OnQueryDragIcon();
afx_msg void
OnSelchangeCombo();
DECLARE_MESSAGE_MAP()
2.在源文件中实现完成消息映射
BEGIN_MESSAGE_MAP(CAddToToolBarView, CView)
//{{AFX_MSG_MAP(CAddToToolBarView)
ON_CBN_SELCHANGE(IDC_COMBOX,
OnSelchangeCombo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
函数实现代码:
void CTest60BaseComboBoxDlg::OnSelchangeCombo()
{
int
nselect=m_ctlCombo.GetCurSel();
m_ctlCombo.GetLBText(nselect,m_static);
UpdateData(false);
}
三、“添加”按钮添加消息响应函数
void CTest60BaseComboBoxDlg::OnAddString()
{
// TODO:
在此添加控件通知处理程序代码
UpdateData(true);
if(m_edit.IsEmpty())
{
AfxMessageBox(L"添加项不能为空");
return;
}
if
(CB_ERR==m_ctlCombo.FindString(-1,(LPCTSTR)m_edit))
//判断该项是否已经在组合框中存在
{
m_ctlCombo.AddString(m_edit);
//加入组合框
}
else
{
AfxMessageBox(L"该添加项已经存在!");
}
m_edit=L"";
UpdateData(false);
}
框1:组合框Combo Box,关联Control类型m_ctlCombo
框2:静态文本框Static Text 关联Value类型 CString m_static
框3:编辑框Edit Control 关联Value类型 CString m_edit
一、初始化对话框OnInitDialog函数
BOOL CTest60BaseComboBoxDlg::OnInitDialog()
{
}
二、组合框选项改变时,实时显示当前选择项
为组合框添加CBN_SELCHANGE消息响应函数
1.在头文件中给出消息响应函数的声明
2.在源文件中实现完成消息映射
函数实现代码:
void CTest60BaseComboBoxDlg::OnSelchangeCombo()
{
}
三、“添加”按钮添加消息响应函数
void CTest60BaseComboBoxDlg::OnAddString()
{
}