MFC里怎么在一个文本框里显示一个变量值?
比如有一个float类型的变量a,有一个静态文本框控件IDC_STATIC1,怎么在STATIC1里显示这个变量的值?...
比如有一个float类型的变量a,有一个静态文本框控件IDC_STATIC1,怎么在STATIC1里显示这个变量的值?
展开
8个回答
推荐于2016-01-16 · 知道合伙人软件行家
关注
展开全部
直接将变量值转换成CString,在现实到静态文本框。
CString str;
str.Format("%f", a);
SetDlgItemText( IDC_STATIC1, str);
CString str;
str.Format("%f", a);
SetDlgItemText( IDC_STATIC1, str);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问报错了
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
=========================
你应该是用的vs吧,vs新建工程时默认使用了unicode字符集,wchar_t就是unicode对应的字符类型
需要设置下工程属性(Alt+F7)→配置属性→常规→项目默认值→字符集,设置成“未设置”就行了
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
=========================
你应该是用的vs吧,vs新建工程时默认使用了unicode字符集,wchar_t就是unicode对应的字符类型
需要设置下工程属性(Alt+F7)→配置属性→常规→项目默认值→字符集,设置成“未设置”就行了
追问
谢谢你,请问怎么控制float的小数位数?它默认都是显示小数点后5位,我觉得有点多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实有很多方法,我就介绍个简单的吧!cwnd类有一个成员函数CWnd::SetDlgItemInt,原型是void SetDlgItemInt( int nID, UINT nValue, BOOL bSigned = TRUE );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼提供的是一种方法,我再提供两种方法。
1)、
CString str;
str.Format("%f", a);
this->SetDlgItemText(IDC_STATIC1, str);
2)、
CString str;
str.Format("%f", a);
CWnd* pwnd = this->GetDlgItem(IDC_STATIC1);
pwnd->SetWindowText(str);
1)、
CString str;
str.Format("%f", a);
this->SetDlgItemText(IDC_STATIC1, str);
2)、
CString str;
str.Format("%f", a);
CWnd* pwnd = this->GetDlgItem(IDC_STATIC1);
pwnd->SetWindowText(str);
追问
报错了
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
追答
你如果想在小数点后保留2位,就这么写:
str.Format("%.2f", a);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以打开类向导,在变量选项卡给IDC_STATIC1 添加变量 类型选float
然后到时候给变量赋值后 UpdateData(False) 就可以自动将值赋给控件
然后到时候给变量赋值后 UpdateData(False) 就可以自动将值赋给控件
更多追问追答
追问
赋值后好像并没有显示出变量,文本框仍然显示的是static
追答
你把UpdateDate写哪里了,变量咋赋的 必须得触发Update函数 比如写在InitDialog里面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询