本文用的是基于对话框MFC项目
配图里基本每行都有注释
下面就是过程:
1.拉一个listctrl到对话框中,并将属性里的VIEW改成report报表形式,添加变量m_list
2拉一个editctrl到对话框中,并添加变量m_edit
3双击Dlg进入头文件里,在public中设置
int m_row = -1;
int m_col = -1;
(一开始鼠标是没有选中的状态)
4.类视图点击Dlg,然后双击OnInitDialog,往下拉找到TODO
以下是初始化的内容
m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES);
这个函数是设置报表的风格的,获取当前风格再加上整行选中高亮,和有网格线
m_list.InsertColumn()设置表头,第一个参数是索引,相当于列,第二个:内容
第三个:居左,第四个:列宽
m_list.InsertItem():这是正文,第一个参数:行号,从第0 行算,第二个:内容,
m_list.SetItemText() :设置某行某列的内容
最后一个是将编辑控件隐藏
5.在对话框中点击列表控件,找到属性->控件事件->NM_DBLICK,添加事件,写如下代码,下面都有注释,
-
6.在编辑控件的属性->控件事件->EN_KILLFOCUS添加事件
7.运行如下
初始化状态
双击空白处后自动添加一行
双击里面单元格后即可进行编辑操作