MFC添加进度条

本文主要介绍:利用ProgressWnd.h和ProgressWnd.cpp,在MFC或加有MFC头文件的工程中添加进度条。

说明:

         ProgressWnd.h和ProgressWnd.cpp下载地址:  http://download.csdn.net/detail/hong__fang/8424747

一、MFC初始化

1.如果在MFC中添加,工程运行时,MFC会自动初始化;如果是添加MFC头文件的工程,在主函数前,要进行MFC初始化,初始化程序如下,类似程序也可:

	//MFC初始化,如果运行错误,就添加MFC初始化,没有的话,说明已经初始化
	if(!AfxWinInit(::GetModuleHandle(NULL),NULL,::GetCommandLine(),0))
	{
		_tprintf(_T("错误: MFC 初始化失败\n"));
	}
2.添加字符串常量

在工程 资源视图->String Table->String Table 中添加两个字符串常量:

IDS_PRO  进度条

IDS_CANCEL 取消

如图:

MFC添加进度条_第1张图片


二、进度条显示程序

注:

<1>把进度条文件ProgressWnd.h和ProgressWnd.cpp,拷贝到工程目录下;

<3>把ProgressWnd.h和ProgressWnd.cpp分别添加到工程头文件和源文件;

<3>在要显示进度条的文件,添加进度条头文件 #include "ProgressWnd.h";

	//初始化进度条
	CString Title("标题字符串"); //设置进度条对话框标题
	CProgressWnd *pro =new CProgressWnd(NULL,Title,TRUE);
	pro->SetStep(1); //设置步长
	pro->SetWindowSize(1,300); //设置显示进度条提示信息行数和窗口大小
	pro->SetRange(0,100);//设置进度条计数范围
	float  lpf;
	int ProPos; 
	int CurrentNum;//当前进度
	int SunNum; //总进度

	//显示进度条
	CString Text("提示信息");
	pro->SetText(Text); //设置显示的提示信息
	SunNum = 6553500;
	for(int i=0;i<6553500;i++)
	{
		CurrentNum = i;
		lpf=(float)(CurrentNum)/(float)(SunNum);//计算当前进度
		ProPos=(int)(lpf*100);
		pro->PeekAndPump();
		pro->SetPos(ProPos); //设置进度条显示进度数


		if(pro->Cancelled())//进度条显示取消按钮
		{
			if(AfxMessageBox("取消操作吗?",MB_OKCANCEL)==IDOK)
			{							
				return ;
			}
			else
			pro->MakebCancelFalse();
		}
	}

	//删除进度条
	delete pro;
三、效果展示

MFC添加进度条_第2张图片

注:点击取消按钮,程序会终止运行,直接退出。

你可能感兴趣的:(mfc,进度条,MFC添加进度条,C++添加进度条)