还是编辑框的问题。。我都弄了三天了都没搞定,唉。。。
我改变了编辑框中的数据(编辑框中的只能是浮点数),如果在范围内的话,就要以一定格式(保留小数点后三位)显示在编辑框中。好的,问题就来了:如果只是为编辑框定义的一个float型的成员变量m_edit1,首先我用format函数把它改成固定格式的数据,得到的类型是CString,没办法通过Setwindowtext()回显;如果增加一个CEdit类型的变量调用该函数,程序虽然能编译通过,但是每次运行的时候都会出现内存的位置不可读的错误(这个错误真的太烦了!!!!!!)
void CTest12Dlg::OnOK() //
{
// TODO: Add extra validation here
GetNextDlgTabItem(GetFocus())->SetFocus();
}
void CTest12Dlg::OnKillfocusEdit1()
{
// TODO: Add your control notification handler code here
CString str;
if(m_edit1<=100&&m_edit1>=-100)
{
str.Format("%.3f", m_edit1);
//我要回显m_edit1这个数据该怎么添加代码呢?
}
else
{
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
ASSERT(pEdit->GetSafeHwnd());
pEdit->SetWindowText(_T("57.500")); // Default Value
pEdit->SetSel(0, -1);
pEdit->SetFocus();
}
}