如何得到ClistBox当前选择的内容,以及如何初始化CListBox.删除当前选择的内容

来源:互联网 发布:网速流量监控软件 编辑:程序博客网 时间:2024/06/09 19:25

//在对话框头文件添加如下变量xx.h

1、CListBox m_listBox;

2、在对话框的.cpp文件中

void CTestBitmapDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_listBox); //添加此段代码,将控件和变量关联起来。

  }

 //当然这个可以在对话框界面直接用类向导完成关联控件操作


3、初始化的时候可以在OnInitDialog函数
//第一种办法
CListBox *pListBox = (CListBox *)GetDlgItem(IDC_LIST1);
pListBox->AddString(_T("test1"));
pListBox->AddString(_T("test2"));
   //第二种办法
m_listBox.AddString(_T("test1"));
m_listBox.AddString(_T("test2"));
都可以
4、添加双击列表框事件消息  用向导添加,当然也可以手动添加
afx_msg void OnBnClickedOk();
BEGIN_MESSAGE_MAP(CTestBitmapDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_LBN_DBLCLK(IDC_LIST1, &CTestBitmapDlg::OnLbnDblclkList1) 
END_MESSAGE_MAP()

5、获得当前选择的字符串
//添加双击列表框事件
void CTestBitmapDlg::OnLbnDblclkList1()
{
int iCurSel = m_listBox.GetCurSel();//得到当前选择索引
if (LB_ERR != iCurSel)
{
CString strTmp;
m_listBox.GetText(iCurSel,strTmp); //得到当前选择的字符串
AfxMessageBox(strTmp);
// m_listBox.DeleteString(iCurSel); 删除当前选择
}
}
原创粉丝点击