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

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

// 头文件中添加

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

}

// 附加真实图

这个控件只要你的电脑安装了Office就有的,而且根据Office的不同版本,这个日期控件的版本号也是不同的,比如Office2003就是11.0

另外,Windows系统本身也为VB提供了一个类似的控件,就是在Microsoft Windows Common Controls-2 6.0 里面的MonthView

你的vb不会是精简版吧.

=================

如果找不到calendar控件,你可以试试控件在工程菜单--》部件--》选择Microsoft

windows

common

contrls-2

6.0中的monthview.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11266912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存