MFC编程问题
errorC2664:“DDX_Control”:不能将参数3从“CEdit(__thiscallJF::*)(void)”转换为“CWnd&”我定义了一个类(JF),就...
error C2664: “DDX_Control”: 不能将参数 3 从“CEdit (__thiscall JF::* )(void)”转换为“CWnd &”
我定义了一个类(JF),就是想把IDC_EDIT1和IDC_EDIT2的相加的和表示在IDC_EDIT3中,怎么弄啊?我简直整得没有逻辑了...
练习2dlg.cpp(167): error C2664: “CWnd *CWnd::GetDlgItem(int) const”: 不能将参数 1 从“CEdit”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>练习2dlg.cpp(167): error C2227: “->GetWindowTextW”的左边必须指向类/结构/联合/泛型类型
1>练习2dlg.cpp(168): error C2664: “CWnd *CWnd::GetDlgItem(int) const”: 不能将参数 1 从“CEdit”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>练习2dlg.cpp(168): error C2227: “->GetWindowTextW”的左边必须指向类/结构/联合/泛型类型
1>练习2dlg.cpp(170): error C2664: “CWnd *CWnd::GetDlgItem(int) const”: 不能将参数 1 从“CEdit”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>练习2dlg.cpp(170): error C2227: “->SetWindowTextW”的左边必须指向类/结构/联合/泛型类型 展开
我定义了一个类(JF),就是想把IDC_EDIT1和IDC_EDIT2的相加的和表示在IDC_EDIT3中,怎么弄啊?我简直整得没有逻辑了...
练习2dlg.cpp(167): error C2664: “CWnd *CWnd::GetDlgItem(int) const”: 不能将参数 1 从“CEdit”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>练习2dlg.cpp(167): error C2227: “->GetWindowTextW”的左边必须指向类/结构/联合/泛型类型
1>练习2dlg.cpp(168): error C2664: “CWnd *CWnd::GetDlgItem(int) const”: 不能将参数 1 从“CEdit”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>练习2dlg.cpp(168): error C2227: “->GetWindowTextW”的左边必须指向类/结构/联合/泛型类型
1>练习2dlg.cpp(170): error C2664: “CWnd *CWnd::GetDlgItem(int) const”: 不能将参数 1 从“CEdit”转换为“int”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>练习2dlg.cpp(170): error C2227: “->SetWindowTextW”的左边必须指向类/结构/联合/泛型类型 展开
3个回答
展开全部
你肯定在乱传参数了,CWnd *CWnd::GetDlgItem(int) const要求一个int类型的参数,你把类对象直接传进去了?你应该找出Edit控件的ID,然后把这个ID传给上面的函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
干嘛要定义一个新类呢 直接对两个EDIT框调用GetDlgItemText 然后强制类型转换把String转换为int或者float 相加以后再转成String 再在EDIT3中用SetDlgItemText输出啊
追问
怎么调用那些函数呢??举个简单例子嘛,谢谢!
追答
应该给CEdit控件绑定一个CString型的变量 是value数值型的变量 目测你绑定的是CEdit控制型的变量?然后用CString.Format()、 你是在写计算器? 网上搜搜视频教程或者文档吧 步骤不多 文档上面讲解很详细的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString sText1, sText2, sText3;
GetDlgItem(IDC_EDIT1)->GetWindowText(sText1);
GetDlgItem(IDC_EDIT2)->GetWindowText(sText2);
sText3.Format(_T("%g"), _ttof(sText1) + _ttof(sText2));
GetDlgItem(IDC_EDIT3)->SetWindowText(sText3);
GetDlgItem(IDC_EDIT1)->GetWindowText(sText1);
GetDlgItem(IDC_EDIT2)->GetWindowText(sText2);
sText3.Format(_T("%g"), _ttof(sText1) + _ttof(sText2));
GetDlgItem(IDC_EDIT3)->SetWindowText(sText3);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询