如何使CListCtrl中的某一个单元格只能接受数字的输入

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:17:28
能不能只设置其中的某一个单元格

不能只设置某个单元格的输入,但是可以通过消息来拦截
实现
(消息处理里面判断是否所要求的单元格,这个判断很简单,根据NMHDR——NMLVDISPINFO参数,具体看MSDN)
LVN_BEGINLABELEDIT 备份当前数值
LVN_ENDLABELEDIT 读取输入的字符串是否数字,合法就更新,否则使用上面备份的数值。

——这样就可以达到你的要求了

每一个可编辑单元格是CEdit类,将其设定只是数字就可以了。

CEdit* pEdit = pListCtrl->GetEditControl();
pEdit->ModifyStyle(0,ES_NUMBER);