MFC的dc.TextOut输出问题 35

第二次计算残留了第一次计算的低位数字。请问大神怎么解决这个问题?核心代码如下:voidCDCDlg::OnButtonCalc(){//TODO:Addyourcontr... 第二次计算残留了第一次计算的低位数字。请问大神怎么解决这个问题?核心代码如下:void CDCDlg::OnButtonCalc() { // TODO: Add your control notification handler code here UpdateData(); //伤害减免(%) float fhujia = m_hj-m_gdz; fhujia = fhujia-(fhujia*m_bfb); float fshjm = fhujia/(fhujia+602)*100; CString cshjm; cshjm.Format("%.0f",fshjm); //真实伤害 float fzssh = m_gj*(1-(fshjm/100)); CString czssh; czssh.Format("%.0f",fzssh); CRect rect; CRect rect2; //获取控件位置,在其后面输出 GetDlgItem(IDC_STATIC_SHJM)->GetWindowRect(&rect);//获取控件的屏幕坐标 ScreenToClient(&rect);//转换为对话框上的客户坐标 GetDlgItem(IDC_STATIC_ZSSH)->GetWindowRect(&rect2);//获取控件的屏幕坐标 ScreenToClient(&rect2);//转换为对话框上的客户坐标 CClientDC dc(this); dc.TextOut(rect.right,rect.top,cshjm,strlen(cshjm));//输出伤害减免 dc.TextOut(rect2.right,rect2.top,czssh,strlen(czssh));//输出真实伤害} 展开
 我来答
小呆瓜
2016-11-18 · 知道合伙人金融证券行家
小呆瓜
知道合伙人金融证券行家
采纳数:2850 获赞数:12626
从事C++行业多年

向TA提问 私信TA
展开全部
获取rect再textout,还不如直接调用getdlgitemtext直接获取数据,然后再setdlgitemtext再输出
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式