MFC中添加了MonthView控件,如何在编辑框中获取正确的日期和星期

我要的是具有日记本功能的有周几不是第几天... 我要的是具有日记本功能的有周几不是第几天 展开
 我来答
weyoin
2010-09-15 · TA获得超过169个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:187万
展开全部

// 头文件中添加

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

提交
取消

辅 助

模 式