最近更新于 2025-03-05 00:07
测试环境
使用示例
新建一个基于对话框的 MFC 应用 listControlProject
删除模板自带的控件,添加一个 List Control,将其调整到合适的位置和大小,将属性里的视图改为Report
在这个控件上右键添加变量
在项目 Dlg 类中的 OnInitDialog 方法中编写初始化对话框操作
// 插入表头
CString headers[] = {L"姓名",L"年龄",L"性别",L"电话",L"地址"};
size_t columns = sizeof(headers) / sizeof(headers[0]);
for (size_t i = 0; i < columns; ++i)
{
this->listControl.InsertColumn(i, headers[i], LVCFMT_LEFT, 100);
}
// 插入数据
std::vector<std::vector<CString>> dataList = {
{L"张三",L"20",L"男",L"123456",L"北京"},
{L"李四",L"25",L"女",L"654321",L"上海"},
{L"王五",L"30",L"男",L"987654",L"广州"},
{L"赵六",L"35",L"女",L"543219",L"深圳"}
};
for (size_t row = 0; row < dataList.size(); ++row)
{
this->listControl.InsertItem(row, dataList[row][0]); // 插入新的列表项(主文本)
for (int col = 1; col < dataList[row].size(); ++col)
{
this->listControl.SetItemText(row, col, dataList[row][col]); // 设置列表项文本内容
}
}
// 设置整行选中和网格
this->listControl.SetExtendedStyle(this->listControl.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
另外上面代码使用了 vector,需要引用这个头文件
运行效果
MFC:List Control 列表控件