MFC实例:[4] ListBox 列表框控件实例
1、打开vs2017------》文件-------》新建------》项目(MFC应用程序),创建好目录如下:

2、打开资源文,双击MFCListBox.rc,显示如图:
3、在自动生成的对话框模板中,删除“TODO: Place dialog controls here.”静态文本控件、“OK”按钮和“Cancel”按钮。添加一个Listbox控件,ID设置为IDC_YUYAN_LIST。再添加一个静态文本控件和一个编辑框,静态文本控件的Caption属性设为“选中的语言:”,编辑框的ID设为IDC_SEL_YUYAN_EDIT,Read Only属性设为True。此时的对话框模板如下图
4、选中列表框,右键单机添加变量,为列表框IDC_YUYAN_LIST添加变量m_ListBox。
5、初始化面板,增加代码
// TODO: 在此添加额外的初始化代码
m_ListBox.AddString(_T("C/C++")); // 在列表框结尾添加字符串
m_ListBox.AddString(_T("python"));
m_ListBox.AddString(_T("php"));
m_ListBox.InsertString(2, _T("Java"));
6、我们希望在选中列表项改变时,将最新的选择项实时显示到编辑框中,那么这就要用到LBN_SELCHANGE通知消息。选中ListBox控件,右键单击--》添加事件处理程序---》添加编辑---》调到代码界面
7、继续添加事件处理代码:
void CMFCListBoxDlg::OnLbnSelchangeYuyanList()
{
// TODO: 在此添加控件通知处理程序代码
CString strText;
int nCurSel;
nCurSel = m_ListBox.GetCurSel(); // 获取当前选中列表项
m_ListBox.GetText(nCurSel, strText); // 获取选中列表项的字符串
SetDlgItemText(IDC_SEL_YUYAN_EDIT, strText); // 将选中列表项的字符串显示到编辑框中
}
8、运行如下图:
9、工程下载地址:
链接:https://pan.baidu.com/s/1rP_3wZ29qqCPGXg1cAC8Ww
提取码:sv56