实现的功能:Dlg窗口弹出表格,用户通过双击表格的空白处结汇自动添加一行,点击该行的空白格变成可编辑模式,键盘输入数据后,该数据被存入定义的数组中。这个问题在网上看了很多文档都没有比较完整的方法,我也是请教了师兄才做出来的,MFC新手怕忘就写下来啦~
- 创建对话框及必要的控件
创建对话框,命名为listControl,由类向导创建类ClistControlDlg;
在对话框中拖入一个listControl控件,命名为m_store_items,风格:report;
添加一个editControl控件,命名为m_edit_pos,默认是Control变量; - 创建表格(所在函数:
BOOL ClistControlDlg::OnInitDialog()
)
// TODO: 在此添加额外的初始化代码
DWORD dwStyle = m_store_items.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; //使整行高亮
dwStyle |= LVS_EX_GRIDLINES;//网格线
m_store_items.SetExtendedStyle(dwStyle);
//设置表头,第一行标题,后面的数字表示列宽
m_store_items.InsertColumn(0,"ID号/位置号",LVCFMT_LEFT,80);
m_store_items.InsertColumn(1,"上表面y",LVCFMT_LEFT,60);
m_store_items.InsertColumn(2,"上表面z",LVCFMT_LEFT,60);
m_store_items.InsertColumn(3,&