关于日历控件使用实例的一段代码不太明白
void CCalendarDemoDlg::OnSelchangeCalendar(NMHDR* pNMHDR, LRESULT* pResult) {
//获取控件当前所选日期
SYSTEMTIME st = {0};
m_calendar.GetCurSel(&st);
//清空小时、分钟等成员,否则在后续计算中将得到错误的结果
st.wHour = st.wMinute = st.wSecond = st.wMilliseconds = 0;
//得到当年的1月1日
CTime timeBegin(st.wYear, 1, 1, 0, 0, 0);
//得当所选日期和该年1月1日的差值
CTime timeSel(st,-1);
CTimeSpan ts = timeSel - timeBegin;
//根据差值得到日期数
TCHAR szOutput[128] = {0};
_stprintf(szOutput, _T("%d年%d月%d日是%d年的第%d天。"),
timeSel.GetYear(), timeSel.GetMonth(), timeSel.GetDay(),
timeSel.GetYear(), ts.GetDays() + 1);
//输出结果
SetDlgItemText(IDC_OUTPUT, szOutput);
*pResult = 0;
}
初值都赋{0}了,不明白为什么能获取控件当前所选日期,