======================================
添加列表框
要想到达上面的效果,还需要在属性里设置
这样才能只有一列文本,我们添加按钮进行测试
当然首先我们需要添加一个窗口的初始化函数,这样窗口一创建
我们就把内容添加到列表框里,当然还有一个作用,就是初始化控件变量
手动添加 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=