VC++怎样在编辑框显示数字。。。跪了。。。。

Mytimet1;t1.getlocaltime();//获取系统小时值赋值给t1.hourm_GetSysTimeHInt=t1.hour;//编辑框关联的整形变量m_... Mytime t1;
t1.getlocaltime();//获取系统小时值赋值给t1.hour
m_GetSysTimeHInt = t1.hour;//编辑框关联的整形变量
m_GetSysTimeH.UpdateData(0);//编辑框关联的控制变量
这种不行
Mytime t1;
t1.getlocaltime();
m_GetSysTimeH.SetDlgItemInt(IDC_EDIT_H, t1.hour, 1);
这种不行
还试了几种,还是不行。。。我调试了一下,获取系统时间是没有问题的,t1.hour获得了正确的时间,m_GetSysTimeHInt = t1.hour也成功赋值了的。求教啊
展开
 我来答
slatop
2013-02-08 · TA获得超过1390个赞
知道小有建树答主
回答量:381
采纳率:100%
帮助的人:429万
展开全部
无法显示是因为类型不匹配,你的Mytime是不是派生自CTime,系统时间出出来以后必须要格式化.你可以定义一个CString 然后用CTime的Format方法将时间格式化进CString再使用SetdlgitemText设置.或是直接为EDIT关联一个CString变量,赋值后updateDate(false);如果你非要用数字的话,那么时间取出来后要转换成和编辑框所显示类型一样的类型才可以,如果你的Mytime是派生自SYSTEMTIME 这个结构体,那么得到的值会是WORD不是int.自己检测一下类型是不是匹配.还有下次问问题记得把代码贴全了,别人根本不知道你的MyTime是个啥东西
追问
好吧~Mytime是我自定义的一个类,不是派生自其他类的
#include
class Mytime
{
public:
int hour, min;
Mytime();
Mytime(int, int);
~Mytime();
void getlocaltime();
}t0(23, 0);
…………
void Mytime::getlocaltime()
{
SYSTEMTIME localtime;
GetLocalTime(&localtime);
hour = localtime.wHour;
min = localtime.wMinute;
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bhtzu
推荐于2016-11-19 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4210万
展开全部
第一种方法应该可以。
如果m_GetSysTimeHInt是编辑框关联变量并且为Int类型,那么这样:
t1.getlocaltime();//获取系统小时值赋值给t1.hour
m_GetSysTimeHInt = t1.hour;//编辑框关联的整形变量
UpdateData(FALSE);//更新界面显示
更多追问追答
追问
编译过后一样的白框一个~
追答
m_GetSysTimeHInt = t1.hour;//如果这里成功赋值
那么我的代码就没有问题。
你的问题应该出在别的地方,比如控件属性或者其它消息干扰等。
或者,你这段代码使用的地方不对。

自己建一个新的工程,对话框的,只添加一个编辑框,关联一个int变量。然后在OnInitDialog或者按钮响应消息中这样写:
m_int = 1;
UpdateData(FALSE);
这是标准代码,问题只能出在别的地方。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式