优秀的编程知识分享平台

网站首页 > 技术文章 正文

MFC 动画控件和日期日历控件(winform日历控件)

nanyue 2024-07-26 15:46:31 技术文章 5 ℃

动画控件

动画控件即Animation Control,是显示AVI格式文件的矩形窗口,然而,这里的AVI必须是非压缩的或用RLE8压缩的一系列位图帧。

文件加载:

void CDemoDlg::OnBnClickedBtnLoad()
{
	m_animate.Open(_T("res\\clock.avi"));
}

文件播放:

void CDemoDlg::OnBnClickedBtnPlay()
{
	m_animate.Play(0, -1, -1);
}

从第0帧开始,播放到结束,无限循环。

停止播放:

void CDemoDlg::OnBnClickedBtnStop()
{
	m_animate.Stop();
}

停止播放后文件依然存在,重新播放从第0帧开始。

关闭文件:

void CDemoDlg::OnBnClickedBtnCloseAnimate()
{
	m_animate.Close();
}

关闭文件后,资源从内存中释放,再次播放需要重新载入。

日期时间控件

格式化日期时间:

m_datetime.SetFormat(_T("yyyy-MM-dd HH:mm:ss"));
void CDemoDlg::OnDtnDatetimechangeDatetimepicker(NMHDR* pNMHDR, LRESULT* pResult)
{
	LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码

	CTime selected_time;
	m_datetime.GetTime(selected_time);

	CString str;
	str.Format(_T("%04d-%02d-%02d"), selected_time.GetYear(), selected_time.GetMonth(), selected_time.GetDay());

	AfxMessageBox(str);

	*pResult = 0;
}

日历控件

void CDemoDlg::OnMcnSelchangeMonthcalendar(NMHDR* pNMHDR, LRESULT* pResult)
{
	LPNMSELCHANGE pSelChange = reinterpret_cast<LPNMSELCHANGE>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码

	SYSTEMTIME sys_time = pSelChange->stSelStart;

	CString str;
	str.Format(_T("%04d-%02d-%02d"), sys_time.wYear, sys_time.wMonth, sys_time.wDay);
	AfxMessageBox(str);

	*pResult = 0;
}
最近发表
标签列表