首页 / 军事 / 中国军情 / 正文

mfc进度条(MFC定时器、进度条和滑动条)

放大字体  缩小字体 来源:万家乐售后服务 2026-04-17 17:25  浏览次数:10

创建和销毁定时器

MFC的CWnd类提供的成员函数SetTimer用于设置并启动定时器。第一个参数是我们设置的定时器ID,第二个参数是定时时间(单位毫秒),第三个参数是回调函数地址(如果设置为NULL,则通过WM_TIMER消息的消息响应函数处理定时事件)。

MFC定时器、进度条和滑动条nerror="javascript:errorimg.call(this);">

void CDemoDlg::onBnClickedBtnStart(){	SetTimer(1001, 1000, NULL);}void CDemoDlg::onBnClickedBtnStop(){	KillTimer(1001);}
MFC定时器、进度条和滑动条nerror="javascript:errorimg.call(this);">

void CDemoDlg::onTimer(UINT_PTR nIDEvent){	if (nIDEvent == 1001) {		CTime now = CTime::GetCurrentTime();		CString str = now.Format(_T("%Y-%m-%d %H:%M:%S"));		SetDlgItemText(IDC_STATIC_Show_Time, str);	}	CDialogEx::onTimer(nIDEvent);}
MFC定时器、进度条和滑动条nerror="javascript:errorimg.call(this);">

滑动条控件

用Windows的定时器实现按钮按下滑动条自动增加,到达最大值归零。

MFC定时器、进度条和滑动条nerror="javascript:errorimg.call(this);">

初始化:

g_dlg = this;m_progress.SetRange(0, 100);m_progress.SetPos(0);

设置定时器,自定义回调函数:

void CDemoDlg::onBnClickedButnStartProgress() {	::SetTimer(GetSafeHwnd(), 1002, 10, TimerProc);	m_btn_start_progress.EnableWindow(FALSE);}

设置回调函数(固定格式):

VOID CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) {	int minv, maxv;	g_dlg->m_progress.GetRange(minv, maxv);	int pos = g_dlg->m_progress.GetPos();	pos++;	if (pos > maxv) {		pos = 0;		::KillTimer(hwnd, 1002);		g_dlg->m_btn_start_progress.EnableWindow(TRUE);	}	g_dlg->m_progress.SetPos(pos);}

滑动条

一般和静态文本框搭配使用,用于显示

MFC定时器、进度条和滑动条nerror="javascript:errorimg.call(this);">

给滑动条添加拖动事件:

MFC定时器、进度条和滑动条nerror="javascript:errorimg.call(this);">

void CDemoDlg::onNMCustomdrawSlider(NMHDR* pNMHDR, LRESULT* pResult){	LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);		m_static_show_slider_value = m_slider.GetPos();	UpdateData(FALSE);	*pResult = 0;}
打赏
0相关评论
热门搜索排行
精彩图片
友情链接
声明:本站信息均由用户注册后自行发布,本站不承担任何法律责任。如有侵权请告知立立即做删除处理。
违法不良信息举报邮箱:115904045
头条快讯网 版权所有
中国互联网举报中心