// 头文件中添加
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.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)