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也成功赋值了的。求教啊 展开
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也成功赋值了的。求教啊 展开
2个回答
展开全部
无法显示是因为类型不匹配,你的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;
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种方法应该可以。
如果m_GetSysTimeHInt是编辑框关联变量并且为Int类型,那么这样:
t1.getlocaltime();//获取系统小时值赋值给t1.hour
m_GetSysTimeHInt = t1.hour;//编辑框关联的整形变量
UpdateData(FALSE);//更新界面显示
如果m_GetSysTimeHInt是编辑框关联变量并且为Int类型,那么这样:
t1.getlocaltime();//获取系统小时值赋值给t1.hour
m_GetSysTimeHInt = t1.hour;//编辑框关联的整形变量
UpdateData(FALSE);//更新界面显示
更多追问追答
追问
编译过后一样的白框一个~
追答
m_GetSysTimeHInt = t1.hour;//如果这里成功赋值
那么我的代码就没有问题。
你的问题应该出在别的地方,比如控件属性或者其它消息干扰等。
或者,你这段代码使用的地方不对。
自己建一个新的工程,对话框的,只添加一个编辑框,关联一个int变量。然后在OnInitDialog或者按钮响应消息中这样写:
m_int = 1;
UpdateData(FALSE);
这是标准代码,问题只能出在别的地方。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询