void CCalendar::OnSelectMonthcalendar(NMHDR* pNMHDR, LRESULT* pResult)
{
int nYear;
int nMonth;
int nDay;
nYear=m_time.GetYear();
nMonth=m_time.GetMonth();
nDay=m_time.GetDay();
//测试
CString strTime;
strTime.Format("Y:%d--M:%d--D:%d",nYear,nMonth,nDay);
AfxMessageBox(strTime);
//得到选择的日期
UpdateData(TRUE);
nYear=m_time.GetYear();
nMonth=m_time.GetMonth();
nDay=m_time.GetDay();
//测试
strTime.Format("Y:%d--M:%d--D:%d",nYear,nMonth,nDay);
AfxMessageBox(strTime);
}
问题描述:
我用了个MonthCalendar控件,此控件与m_time关联,CTime类型.
响应MCN_SELECT时间的函数如上.用来测试选择的时间是否映射到变量:m_time上.
如果要得到选择前的时间是否在UpdateData以前获取m_time的值就可以?用了2个消息对话框来测试.但是,怎么也得不到鼠标选择得时间/选择时的时间与变量m_time的时间不一致.高手执教:
1:怎么去事实得到鼠标选择时的时间值?
2:怎么得到鼠标选择前一次的时间值?附:昨天晚上问过了,但是又有了新问题.还希望大家执教.那个问题已经发分了.此问题在线等候,解决问题就给分.
谢谢!自由浪漫的战士!
{
int nYear;
int nMonth;
int nDay;
nYear=m_time.GetYear();
nMonth=m_time.GetMonth();
nDay=m_time.GetDay();
//测试
CString strTime;
strTime.Format("Y:%d--M:%d--D:%d",nYear,nMonth,nDay);
AfxMessageBox(strTime);
//得到选择的日期
UpdateData(TRUE);
nYear=m_time.GetYear();
nMonth=m_time.GetMonth();
nDay=m_time.GetDay();
//测试
strTime.Format("Y:%d--M:%d--D:%d",nYear,nMonth,nDay);
AfxMessageBox(strTime);
}
问题描述:
我用了个MonthCalendar控件,此控件与m_time关联,CTime类型.
响应MCN_SELECT时间的函数如上.用来测试选择的时间是否映射到变量:m_time上.
如果要得到选择前的时间是否在UpdateData以前获取m_time的值就可以?用了2个消息对话框来测试.但是,怎么也得不到鼠标选择得时间/选择时的时间与变量m_time的时间不一致.高手执教:
1:怎么去事实得到鼠标选择时的时间值?
2:怎么得到鼠标选择前一次的时间值?附:昨天晚上问过了,但是又有了新问题.还希望大家执教.那个问题已经发分了.此问题在线等候,解决问题就给分.
谢谢!自由浪漫的战士!
{
CTime t = CTime::GetCurrentTime(); ……
}2:怎么得到鼠标选择前一次的时间值?不明白你在说些什么?
在MCN_SELECT响应函数中 SYSTEMTIME sysTime;
((CMonthCalCtrl*) GetDlgItem(IDC_MONTHCALENDAR1))->GetCurSel(&sysTime); CString str ;
str.Format("%d,%d,%d",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
AfxMessageBox(str);