我新建了一个MFC DIALOG工程,添加一个DateTimePicker控件,并使一个CTime对象m_date与这个控件相关联,并初始化m_date=CTime::GetCurrentTime();然后添加如下代码:void CTestDateTimeCtrlDlg::OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
int i=m_date.GetDay();
..............
*pResult = 0;
}为什么i的取值不正确呢?
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
int i=m_date.GetDay();
..............
*pResult = 0;
}为什么i的取值不正确呢?
楼主:CTime::GetCurrentTime()获取的是CTime类对象,而DateTimePicker控件对应的变量类型是COleDateTime,故需要修改!!如下:
m_date=COleDateTime::GetCurrentTime();
void CMyDlg::OnDtnDatetimechangeDatetimepicker1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
int i=m_date.GetDay();
CString str;
str.Format("%d",i);
AfxMessageBox(str); //查看i的值
*pResult = 0;
}