北京赛车源码出售Q
最近用MFC实现一個简单的权重设置工作最简便直接的方法是用ListControl控件进行编辑,但ListControl没有直接编辑功能查遍资料,主要参考的是如下两篇文章
但是还是遇到两个问题。
发现pos为空说明双击后无法获得具体点的位置。
第二个问题是把edit中的数据写到之前点击的位置中但是没有显示。
解决上述两个问题的关键有两步
第一个是设置高亮风格。在OnInitDialog()函数中
注意第二步是重中之重尤其是InsertItem添加的位置,不可以直接添加到ListControl编辑操作之後(如双击之后再InsertItem)没有这步是不可以实现编辑的(我估计应该有其他方法,但我水平有限还恳请各位大神不吝赐教,拜谢)
详细步骤及代码如下。本人用的编译器是VS2013参考的是上面第一个链接的文章,但增加了一些细节并解决返回值为-1的问题:
第一步:添加edit控件
添加一个edit控件到对话框的任意空白位置(实际上放到哪里效果都一样,不过这样可以方便管理)
第二步:添加ListControl控件并初始化。
然后响应該控件的NM_DBLCLK消息也就是双击事件处理消息。
用来解决返回值-1的问题以及ListControl不显示结果InsertItem可放到任意在第四步函数响应前的步骤里。如放到OnInitDialog()里nNewCount为你要设置的默认的表格的行的数量(类似Excel最左侧的行号)。
第四步:添加NM_DBLCLK事件处理程序
注意,m_Row和m_Col在头文件中定义为int类型