是空值,我将一个Edit控件关联为long型数据,SetTimer刷数据时,OnTimer里面的UpdateData函数获取数据,当我将控件内的数据删除为空时,就会报错,我想设一个条件语句先排除空值情况再UpdateData,这个条件语句要怎么写啊
追答额。那你上面的问题就问的不对了。你应该问怎么判断 Edit 控件怎么判断数据为空。不是应该将关联数据设置成CString类型吗?
用 UpdateData(true);
参考一下下面的。
如果是一些对edit框的复杂操作建议用cedit类型。
示例:
CEdit m_ctrlEdit;
//将光标移到开头
m_ctrlEdit.SetSel(0,0);
//将光标移到末尾
m_ctrlEdit.SetSel(-1);
//选中所有内容
m_ctrlEdit.SetSel(0,-1);
//写入值
m_ctrlEdit.ReplaceSel("替换内容");
//得到当前edit框中的所有字符数
int iStart,iCount;//iCount 为字符数
m_ctrlEdit.SetSel(0,-1);
m_ctrlEdit.GetSel(iStart,iCount);
还一种可以直接用控件的id值来进行操作
示例:
((CEdit*)GetDlgItem(IDC_EDIT)
他类似于上边的m_ctrlEdit
这样写的好处是可以在消息传递中使用,便于不同窗口间传递edit内容
但是我要的是数值不是CString类型的,而且数值不是也可以用Format函数转成CString嘛,我是想知道怎么判断数值类型的为空值,拜托拜托
追答long 类型 又不是指针,怎么能判断为空呢?
追问哦,谢谢,不过有没有可以用关联的变量来写的方法吖,因为有点多,有40+个Edit控件,所以想用数组写成循环的,有没有办法实现呢,麻烦了
追答应是可以的,你可以自己再写一个这样的类,根据不同的关联类型对它的方法重载,然后将这写Edit组织成一个数组,就可以用循环了。我C++不是很熟悉,只能帮你这些了。