mfc的listbox中怎么删除内容?

C++,MFC,就是想问listbox中已经显示的内容怎么删掉,比如程序是重复运行的,第二次运行的时候要把第一次显示的内容清除了。假如我的变量是m_out我只知道m_ou... C++,MFC,就是想问listbox中已经显示的内容怎么删掉,比如程序是重复运行的,第二次运行的时候要把第一次显示的内容清除了。
假如我的变量是m_out
我只知道 m_out.AddString()是添加的,怎么删?
展开
 我来答
du瓶邪
推荐于2016-06-20 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2768万
展开全部
一。首先新建一个Single或者对话框类型的MFC.EXE工种。
二。插入一个Dialog,然后新建一个类CDlgList,可以利用这个控件显示项目,也可实现多选,得到选项总数等.其源程序如下:
// DlgList.cpp : implementation file
//
#include "stdafx.h"
#include "testvc.h"
#include "DlgList.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgList dialog

CDlgList::CDlgList(CWnd* pParent /*=NULL*/)
: CDialog(CDlgList::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgList)
//}}AFX_DATA_INIT
}

void CDlgList::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgList)
DDX_Control(pDX, IDC_BUTTON1, m_Del);
DDX_Control(pDX, IDC_EDIT1, m_Edit);
DDX_Control(pDX, IDC_LIST1, m_Lst);
//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDlgList, CDialog)
//{{AFX_MSG_MAP(CDlgList)
ON_BN_CLICKED(IDC_BUTTON1, OnAddString)
ON_BN_CLICKED(IDC_BUTTON2, OnDel)
ON_BN_CLICKED(IDC_BUTTON5, OnClear)
ON_BN_CLICKED(IDC_BUTTON3, OnGetCount)
ON_BN_CLICKED(IDC_BUTTON4, OnGetCurSel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgList message handlers
void CDlgList::OnAddString()
{
// TODO: Add your control notification handler code here
CString str;
m_Edit.GetWindowText(str);
m_Lst.AddString(str);
UpdateData(FALSE);
}
int CDlgList::DoModal()
{
// TODO: Add your specialized code here and/or call the base class

return CDialog::DoModal();
}
void CDlgList::OnDel()
{
// TODO: Add your control notification handler code here

m_Lst.DeleteString(m_Lst.GetCurSel());
UpdateData(FALSE);
}
void CDlgList::OnClear()
{
// TODO: Add your control notification handler code here
for(int i=0;i<m_Lst.GetCount();i++)
{m_Lst.DeleteString(i);i--;}
UpdateData(FALSE);
}
void CDlgList::OnGetCount()
{
// TODO: Add your control notification handler code here
CString str;
str.Format("List中共有%d项",m_Lst.GetCount());
AfxMessageBox(str);

}
void CDlgList::OnGetCurSel()
{
// TODO: Add your control notification handler code here

// AfxMessageBox(str);
CString str,strMess;
for (int i=0;i < m_Lst.GetCount();i++)
{
str.Format(_T("item %d: 您的选择状态是%s\r\n"),i,m_Lst.GetSel( i ) > 0 ? _T("true") : _T("false"));
afxDump << str;
strMess+=str;
}
AfxMessageBox(strMess);
}
C_LIFEI
2009-05-07 · TA获得超过800个赞
知道小有建树答主
回答量:431
采纳率:0%
帮助的人:349万
展开全部
DeleteString(),删除指定索引的字符串.你先获得你要删除字符串的索引.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式