int num1,num2,num3;
CString str1,str2,str3;
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,5,(LPARAM)str1);
::SendMessage(m_edit2.m_hWnd,WM_GETTEXT,5,(LPARAM)str2);
num1 = _wtoi(str1);
num2 = _wtoi(str2);
num3 = num1 + num2;
str3.Format(L"%d",num3);
m_edit3.SendMessage(WM_SETTEXT,10,(LPARAM)str3);上面的代码在编译的时候提示:error C2440: “类型转换”: 无法从“CString”转换为“LPARAM”不要用字符数组,只用CString类型,请问以上代码怎么修改 谢谢
CString str1,str2,str3;
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,5,(LPARAM)str1);
::SendMessage(m_edit2.m_hWnd,WM_GETTEXT,5,(LPARAM)str2);
num1 = _wtoi(str1);
num2 = _wtoi(str2);
num3 = num1 + num2;
str3.Format(L"%d",num3);
m_edit3.SendMessage(WM_SETTEXT,10,(LPARAM)str3);上面的代码在编译的时候提示:error C2440: “类型转换”: 无法从“CString”转换为“LPARAM”不要用字符数组,只用CString类型,请问以上代码怎么修改 谢谢
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,5,(LPARAM)str1);
::SendMessage(m_edit2.m_hWnd,WM_GETTEXT,5,(LPARAM)str2);?这里不能强制转换,
如果str1=“123”等数字的话,试一下:
int a1;
atoi(str1,a1,10);
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,5,(LPARAM)a1);或许勉强编译的过去
int num1,num2,num3;
CString str1,str2,str3;
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,5,(LPARAM)str1.GetBuffer(256));
::SendMessage(m_edit2.m_hWnd,WM_GETTEXT,5,(LPARAM)str2.GetBuffer(256));
str1.ReleaseBuffer();
str2.ReleaseBuffer()
num1 = _wtoi(str1);
num2 = _wtoi(str2);
num3 = num1 + num2;
str3.Format(L"%d",num3);
m_edit3.SendMessage(WM_SETTEXT,10,(LPARAM)str3.GetBuffer(0));