VS2013 Progress Control控件实现进度条

1.资源视图下新建资源Dialog,并为对话框添加类,设置类名为ProgDlg.在类ProgDlg中添加消息WM_TIMER,并点击编辑代码。

VS2013 Progress Control控件实现进度条_第1张图片

VS2013 Progress Control控件实现进度条_第2张图片

2.在对话框内拖动添加控件Progress Control,并为其添加变量m_prog。

3.在ProgDlg.cpp中添加如下代码(获取对话框句柄)

void ProgDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_PROGRESS1, m_prog);
	int min, max, offset;
	m_prog.GetRange(min, max);
	offset = m_prog.GetStep();
	m_prog.SetStep(offset/2);
	SetTimer(1,200,NULL);


}


BEGIN_MESSAGE_MAP(ProgDlg, CDialog)
	ON_BN_CLICKED(IDOK, &ProgDlg::OnBnClickedOk)
	ON_WM_TIMER()
END_MESSAGE_MAP()

// ProgDlg 消息处理程序

void ProgDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO:  在此添加消息处理程序代码和/或调用默认值
	ProgDlg pro;
	HWND hwnd = pro.m_hWnd;// 获取对话框句柄
	if (m_pos <= 100)
	{
		m_pos = m_pos + 20;
		m_prog.SetPos(m_pos);
	}
	if (m_pos == 100)
	{
		MessageBox(_T("微博数据提取成功。"));
		SetDlgItemText(IDC_STATIC, _T("微博数据提取成功。"));
		CDialog::OnOK();
	}
	//CDialog::OnTimer(nIDEvent);
}
4.在WeiboView.cpp中包含头文件ProDlg.h,并添加如下代码。

#include "ProgDlg.h"
void CWeiboView::OnBtngrab()
{
	// TODO:  在此添加命令处理程序代码
	ProgDlg prog;
	prog.m_pos = 0;
	prog.DoModal();
}
VS2013 Progress Control控件实现进度条_第3张图片


你可能感兴趣的:(C++)