6036|15

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求教~evc 编辑框文本 运算问题 [复制链接]

有两个编辑框 IDC_EDT1  CString  m_edt1 和IDC_EDT2 CString m_edt2
我现在想把这两个编辑框中的值(现在里面是两个数值)做减法运算,放到编辑框IDC_EDT3 CString m_edt3中,请问,能实现吗?按钮的代码如何写? 有些困扰,大家帮下忙,谢谢!

最新回复

此问题 已解决 另一个人写的 此代码可以运行 贴出来大家看看吧 void CTestDlg::OnButton1() { // TODO: Add your control notification handler code here UpdateData(TRUE); int a=_wtoi(m_edit1); int b=_wtoi(m_edit2); int c=a+b; m_edit3.Format(_T("%d"),c); UpdateData(FALSE); }  详情 回复 发表于 2009-8-24 19:54
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
能实现,不过用int m_edt1 ,int m_edt2 ,比较好一些,然后IDC_EDT3 int m_edt3,计算代码如下:
UpdateData(TRUE);
m_edt3= m_edt1 - m_edt2 ;
UpdateData(FALSE);
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
如果一定要用CSting 类型也可以,不过先要转换成int,计算完后再转换成CString赋给EDIT3
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 seth1104 的回复:
如果一定要用CSting 类型也可以,不过先要转换成int,计算完后再转换成CString赋给EDIT3

谢谢 代码具体如何? 用#1楼的 会出错“error C2593: 'operator =' is ambiguous”
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
用atow转换CString 到int。
或者 直接用Win32 API GetDlgItemInt获取编辑框到UINT变量
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
就是 CString 转数值这一步比较难,有人号称 strtol 可以,我试过了不行,atoi 更不行,我是用自编函数解决的。

转数值后直接减,然后 CString 类的 Format 方法转回字符串,SetWindowText 就可以了。
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

7
 
to #1:
这种方法地球人都知道,lz就是想要 CString

to #2:
问题就是 CString 怎么转 int。而且楼主也没说是int,应该按 double 来考虑

to #4:
没有 atow 这个函数,如果用 atol,下场就是:
error C2664: 'atol' : cannot convert parameter 1 from 'class CString' to 'const char *'

 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
前面写错了 ,是_wtoi。。。。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

9
 
嗯,_wtof 的解决了,但要转成浮点的怎么办?atof有没有双字节版?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
写错,是 _wtoi,不是 to f
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 vbprofan 的回复:
嗯,_wtof 的解决了,但要转成浮点的怎么办?atof有没有双字节版?

atof对应_wtof,但是CE下 对std不完全支持,所以WinCE下 没有_wtof。
但是可以用swscanf.
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
不是“对std不完全支持”,而是根本没有 _wtof 这个函数,不仅 CE 没有,VC6也没有……

不过 swscanf 确实可以,试验通过,哈哈,谢谢!我也在研究 CString 转 float 的问题
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

13
 
有人能写下代码吗? 或是发给我 913247873@qq.com   谢谢!!!我还是不太清楚怎么来写。。。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 11 楼 vbprofan 的回复:
不是“对std不完全支持”,而是根本没有 _wtof 这个函数,不仅 CE 没有,VC6也没有……

不过 swscanf 确实可以,试验通过,哈哈,谢谢!我也在研究 CString 转 float 的问题

_wtof 是有的,不过需要VS03 以上版本。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

15
 
你定义变量的时候先定义为int或其它的整数型
UpdateData(FALSE);   
m_edt3= m_edt1 - m_edt2 ;
UpdateData(TRUE);
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

16
 
此问题 已解决
另一个人写的 此代码可以运行 贴出来大家看看吧
void CTestDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
int a=_wtoi(m_edit1);
int b=_wtoi(m_edit2);
int c=a+b;
m_edit3.Format(_T("%d"),c);
UpdateData(FALSE);
}
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表