本文共 1930 字,大约阅读时间需要 6 分钟。
void CMyDlg::OnButtonOperation() //按钮Operation的函数{ // TODO: Add your control notification handler code hereint numA, numB, numC;char chA[10], chB[10], chC[10];m_editA.GetWindowText(chA, 10); //m_editA、m_editB、m_editC为控件型变量m_editB.GetWindowText(chB, 10);numA = atoi(chA);numB = atoi(chB);numC = numA + numB;itoa(numC, chC, 10);m_editC.SetWindowText(chC);}
UpdateData(TRUE);m_numC = m_numA + m_numB;UpdateData(FALSE);
并且用类向导编辑了float数值型编辑框变量范围0~100.所以当超出范围时会有提示
如上,第三个框超出范围。
同时,不能删除初始化的数字0,不然:
(不过第三个编辑框用于输出结果,删0也没事儿)
方法三:利用GetDlgItem()和GetWindowText()和SetDlgItem()
int numA, numB, numC; char chA[10], chB[10], chC[10]; GetDlgItem(IDC_EDIT_A)->GetWindowText(chA, 10); //10为长度 GetDlgItem(IDC_EDIT_B)->GetWindowText(chB, 10); //10为长度 numA = atoi(chA); numB = atoi(chB); numC = numA + numB; itoa(numC, chC, 10);//10为十进制 GetDlgItem(IDC_EDIT_C)->SetWindowText(chC);方法四:(方法三的升华)利用 GetDlgItemText()和SetDlgItemText()
int numA, numB, numC; char chA[10], chB[10], chC[10]; GetDlgItemText(IDC_EDIT_A, chA, 10); GetDlgItemText(IDC_EDIT_B, chB, 10); numA = atoi(chA); numB = atoi(chB); numC = numA + numB; itoa(numC, chC, 10);//10为十进制 SetDlgItemText(IDC_EDIT_C, chC);方法五:用GetDlgItemInt()和 SetDlgItemInt(), 不用itoa()和atoi()类型 转换
int numA, numB, numC; numA = GetDlgItemInt(IDC_EDIT_A); numB = GetDlgItemInt(IDC_EDIT_B); numC = numA + numB; SetDlgItemInt(IDC_EDIT_C, numC);方法六:使用::SendMessage()
int numA, numB, numC; char chA[10], chB[10], chC[10]; ::SendMessage(GetDlgItem(IDC_EDIT_A)->m_hWnd, WM_GETTEXT, 10, (LPARAM)chA); ::SendMessage(GetDlgItem(IDC_EDIT_B)->m_hWnd, WM_GETTEXT, 10, (LPARAM)chB); numA = atoi(chA); numB = atoi(chB); numC = numA + numB; itoa(numC, chC, 10);//10为十进制 ::SendMessage(GetDlgItem(IDC_EDIT_C)->m_hWnd, WM_SETTEXT, 10, (LPARAM)chC);注:前两个WM_GETTEXT,后一个WM_SETTEXT