读书人

CDateTimeCtrl:SetTime使用

发布时间: 2013-07-04 11:45:51 作者: rapoo

CDateTimeCtrl::SetTime使用求助
需求是主界面有一时间控件,弹出对话框后该对话框也有时间控件,接受显示主界面的时间,对话框退出后将界面时间更新为对话框时间,见下图
CDateTimeCtrl:SetTime使用
我在实现中两个时间空间均创建CDateTimeCtrl型变量,然后使用GetTime,SetTime赋值,代码如下
MyDlg dlg;
CTime time;
m_Time1.GetTime(time);
dlg.m_DialogTime.SetTime(&time);
dlg.DoModal();
在SetTime时老是报故,调了很久啊,网上搜索发现有人有同样问题并说Debug模式报错,Release模式则正常,我试了果然如此,麻烦各位告知下为啥这样啊

另一个问题是因SetTime出错,我后来采用构建Ctime变量赋值方式进行,可以进行时间交互,程序打开后时间控件默认显示8:00:00,后来在使用中发现该控件设置早于8点的时间就出错,请问是为啥啊,谢谢大家了
[解决办法]
你对话框都没创建出来就设置控件的值,当然会出错,对话框都没出来,控件肯定也没创建
[解决办法]
先显示对话框,在赋值。。。
[解决办法]
MyDlg?dlg;
CTime?time;
m_Time1.GetTime(time);
dlg.DoModal();
dlg.m_DialogTime.SetTime(&time);
[解决办法]


MyDlg dlg;
CTime time;
m_Time1.GetTime(time);
dlg.m_time = time;
dlg.DoModal();

然后在界面初始化时赋值
m_time是一个CTime变量

CMyDlg::OnInitDialog()
{
m_DialogTime.SetTime(&m_time);
}

读书人网 >VC/MFC

热点推荐