MFC简易计算器,怎么实现退格功能,请问一下思路?
答案:2 悬赏:20 手机版
解决时间 2021-03-21 01:51
- 提问者网友:嘚啵嘚啵
- 2021-03-20 10:51
MFC简易计算器,怎么实现退格功能,请问一下思路?
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-03-20 11:18
这要看你的编辑框关联的是什么变量。
如果是字符串,那么m_str = m_str.Left(m_str.GetLength()-1);一个语句搞定。
如果是数值型,那么就比较麻烦了。先要判断是否有小数点,
没有就直接m_double = (int)m_double /10;
有小数点,纯数字运算做一个循环吧,每次乘以10,判断是否和强制int相等,直到相等了,取前一次的数值(小数点后一位)强制int,然后除以n-1个10就ok
如果是字符串,那么m_str = m_str.Left(m_str.GetLength()-1);一个语句搞定。
如果是数值型,那么就比较麻烦了。先要判断是否有小数点,
没有就直接m_double = (int)m_double /10;
有小数点,纯数字运算做一个循环吧,每次乘以10,判断是否和强制int相等,直到相等了,取前一次的数值(小数点后一位)强制int,然后除以n-1个10就ok
全部回答
- 1楼网友:山君与见山
- 2021-03-20 11:50
不是有CEdit控件么?可以用控件撒。但是你一定要按你说的话呢 。也是可以的。只是有点麻烦。
先创建一个窗口。再在窗口上创建光标。再创建一个CStringArray类每当你输入一个字符时就把字符存入CstirngArray对象中。当按下的是删除键是就把药删除的字符移除掉。如果你不知道怎么移除呢。那你还的去看看CStirngArray的方法。要是你想删除中间的呢。也好办。。当你的光标移动到中间位置按下删除键时。就算下一光标到字符开始输出的位置(及就是你的第一个字符的位置)的长度(像素为单位的)。最后在用一个加一循逐渐从你的CStringArray对象中取出字符用dc中的GetExtent计算出单给你从前边算出来的像素一样是的字符序号。然后删除就OK啦。
先创建一个窗口。再在窗口上创建光标。再创建一个CStringArray类每当你输入一个字符时就把字符存入CstirngArray对象中。当按下的是删除键是就把药删除的字符移除掉。如果你不知道怎么移除呢。那你还的去看看CStirngArray的方法。要是你想删除中间的呢。也好办。。当你的光标移动到中间位置按下删除键时。就算下一光标到字符开始输出的位置(及就是你的第一个字符的位置)的长度(像素为单位的)。最后在用一个加一循逐渐从你的CStringArray对象中取出字符用dc中的GetExtent计算出单给你从前边算出来的像素一样是的字符序号。然后删除就OK啦。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯