您的位置:首页 > 其它

MFC控件(一)(列表框)

2013-11-28 14:48 197 查看


列表框控件添加变量:
CListBox m_List1
CListBox m_List2
按钮变量:
CButton m_In
CButton m_Out
文本框控件变量:
CString m_Item
1、初始化时,将按钮In、Out状态设为不可用
m_In.EnableWindow(false);
m_Out.EnableWindow(false);
2、Add按钮单击事件:
void CListBoxDemoDlg::OnAdd()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_Item.IsEmpty())
{
MessageBox("项目不能为空!");
}
m_List1.AddString(m_Item);
m_Item = "";
UpdateData(false);
}
3、Out按钮单击事件
void CListBoxDemoDlg::OnOut()
{
// TODO: Add your control notification handler code here
int count = m_List1.GetSelCount();
if(!count)
return;
int* Items = new int[count];
m_List1.GetSelItems(count, Items);
for(int i = 0; i<count; i++)
{
CString strItem;
m_List1.GetText(Items[i],strItem);
m_List2.AddString(strItem);
}
for(i = count-1; i>=0; i--)
{
m_List1.DeleteString(Items[i]);
}
delete[] Items;

if(m_List1.GetSelCount())
m_Out.EnableWindow(true);
else
m_Out.EnableWindow(false);
}
4、In按钮单击事件
void CListBoxDemoDlg::OnIn()
{
// TODO: Add your control notification handler code here
int count = m_List2.GetSelCount();
if(!count)
return;
int* Items = new int[count];
m_List2.GetSelItems(count,Items);
for(int i = 0; i<count; i++)
{
CString szItem;
m_List2.GetText(Items[i],szItem);
m_List1.AddString(szItem);
}
for(i = count-1; i>=0; i--)
{
m_List2.DeleteString(Items[i]);
}
delete[] Items;

if(m_List2.GetSelCount())
m_In.EnableWindow(true);
else
m_In.EnableWindow(false);
}
6、为列表框添加LBN_SELCHANGE响应函数
(有选中项目和无选中项目时,分别判断按钮状态)
void CListBoxDemoDlg::OnSelchangeList1()
{
// TODO: Add your control notification handler code here
if(m_List1.GetSelCount())
m_Out.EnableWindow(true);
else
m_Out.EnableWindow(false);
}
void CListBoxDemoDlg::OnSelchangeList2()
{
// TODO: Add your control notification handler code here
if(m_List2.GetSelCount())
m_In.EnableWindow(true);
else
m_In.EnableWindow(false);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: