程序功能介绍:
按下button1发送(示例编辑框)中输入的内容到两个列表框中。
按下button2删除选中的内容
一,设计交互界面
二.编程前的设置准备
添加多选列表的变量
(1)右键多选框
(2)选择类别Control,并命名m_cmb1.
(3)取消自动分类的功能 如图改为False
Button1 添加 代码
void CMFCday3ADlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CString texta;//创建字符串
GetDlgItemText(IDC_EDIT1,texta);//将字符串与输入文本框绑定
m_cmb1.AddString(texta);//将输入的字符串写入列表中
m_cmb1.SetCurSel(m_cmb1.GetCount()-1);//设置文本位置,为最下方 GetCount为所有选项的个数 其索引地址从0开始,数值上多一个。
m_lsb.AddString(texta);
m_cmb1.SetCurSel(m_lsb.GetCount()-1);
}
Button1 删除 代码
void CMFCday3ADlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
int nIndex;//建立索引目标变量
nIndex=m_cmb1.GetCurSel();//将当前选择的的索引数值分发给索引变量
if(nIndex>-1)//最小值为0,如果大于-1则有选项被选中
{
m_cmb1.DeleteString(nIndex);//删除所选
if(nIndex<m_cmb1.GetCount())//当前选择的选项的索引值小于所有个数,证明还有选项可以删除
m_cmb1.SetCurSel(nIndex);//将删除后自动跳转的索引值,设置为选择项
else
m_cmb1.SetCurSel(0);
}
nIndex=m_lsb.GetCurSel();
if(nIndex>-1)
{
m_lsb.DeleteString(nIndex);
if(nIndex<m_cmb1.GetCount())
m_lsb.SetCurSel(nIndex);
else
m_lsb.SetCurSel(0);
}
}