_014_列表框

======================================


添加列表框



要想到达上面的效果,还需要在属性里设置


这样才能只有一列文本,我们添加按钮进行测试

当然首先我们需要添加一个窗口的初始化函数,这样窗口一创建

我们就把内容添加到列表框里,当然还有一个作用,就是初始化控件变量


手动添加 OnInitDialog 函数

int CMySonClass::OnInitDialog()
{
	CDialogEx::OnInitDialog();  
	//这句一定要添加,一定要添加,调用父类的OnInitDialog								 
	//用于初始化很多东西,如果不加这个句,那edit的控件变量便不能使用									
	// 因为句柄为0.加上这句柄才不为0

	clb = (CListBox*)(this->GetDlgItem(IDC_LIST1)); //clb是定义在类的成员里的
	clb->AddString(L"111");
	clb->AddString(L"222");
	clb->AddString(L"333");
	clb->AddString(L"333");
	return 0;
}

这样窗口一显示,列表框里就有内容



假如我们还想要取出列表框的一行内容到编辑框里

可以添加一个事件,鼠标在列表框里双击触发的,这样方便一点


然后添加如下代码

void CMySonClass::OnLbnDblclkList1()
{
	CString str;

	//获取当前选中行
	int i=clb->GetCurSel();

	//获取指定行的内容
	clb->GetText(i,str);

	//设置编辑框内容,编辑框类本身没有设置内容的函数,是借助CWind的SetWindowText来设置
	//且要使用控件类型变量,比如要调用父类的OnInitDialog初始化函数
	m_edit_list_string.SetWindowText(str);
}

假如我们想删除一行,添加如下代码

void CMySonClass::OnBnClickedButtonlistdelete()
{
	clb->DeleteString(0); //删除第一个,然后第二个会替换第一个成为第一个
}


CListBox文档

https://msdn.microsoft.com/zh-cn/library/y04ez4c9.aspx


=











猜你喜欢

转载自blog.csdn.net/yzj17025693/article/details/80874650