dlg中,如何将LIST中的日期添加到日期框中

 我来答
匿名用户
推荐于2016-08-27
展开全部
// 头文件中添加
CMonthCalCtrl m_calendar;
// DoDataExchange(CDataExchange* pDX)中添加
DDX_Control(pDX, IDC_CALENDAR, m_calendar);
// 以下是MCN_SELCHANGE消息响应函数
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);
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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式