MFC控件 — 进度条【案例】「建议收藏」

MFC控件 — 进度条【案例】「建议收藏」打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉。对于MFC进度条的使用,下面用一个案例介绍一下。案例:进度条单步加载和自动连续加载步骤:1.按下图在对话框中添加一个进度条,一个编辑框,和3个按钮,并为进度条添加一个控件变量进度条变量:m_Progress2.在初始化函数中对进度条进行初始化,代码如下:BOOLCSpinDlg::OnInitDia…

大家好,又见面了,我是你们的朋友全栈君。

打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉。对于MFC进度条的使用,下面用一个案例介绍一下。

案例:进度条单步加载和自动连续加载

步骤:
1.按下图在对话框中添加一个进度条,一个编辑框,和3个按钮,并为进度条添加一个控件变量
在这里插入图片描述
进度条变量:m_Progress
在这里插入图片描述
2.在初始化函数中对进度条进行初始化,代码如下:

BOOL CSpinDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
  //XXXXX
  //默认代码
  //XXXXX
	
	m_Progress.SetRange(0,100);//设置进度条数值变化范围
	m_Progress.SetPos(1);      //设置进度条默认初始进度

	CString str;
	int nPos = m_Progress.GetPos(); // 获取进度条的当前位置
	str.Format("%d",nPos);
	GetDlgItem(IDC_EDIT_Progress)->SetWindowText(str + _T("%"));//显示进度条初始进度

	return TRUE;  // return TRUE  unless you set the focus to a control
}

运行,此时进度条位置在1%的位置上:
在这里插入图片描述

3.为3个按钮分别添加点击事件:

单步加载 按钮:

//单步控制进度条
void CSpinDlg::OnBtnSingleGo() 
{
	m_Progress.SetStep (5); //设置进度条步长
	m_Progress.StepIt();    //按照当前步长更新位置
	
	int nPos = m_Progress.GetPos();// 获取进度条的当前位置
	CString str;
	str.Format("%d",nPos);
	GetDlgItem(IDC_EDIT_Progress)->SetWindowText(str + _T("%"));//显示进度条进度
	
}

自动加载 按钮:

//定时器:控制进度条自动加载
void CSpinDlg::OnBtnGo() 
{
	SetTimer(1,500,NULL); //开启自动加载

}

//定时器内部具体实现进度条的加载

void CSpinDlg::OnTimer(UINT nIDEvent) 
{
	
	m_Progress.SetStep (5);//步长
	m_Progress.StepIt();//按步长更新位置
	int nPos = m_Progress.GetPos();// 获取进度条当前位置
	
	CString str;
	str.Format("%d",nPos);
	GetDlgItem(IDC_EDIT_Progress)->SetWindowText(str + _T("%"));//显示进度条进度
	
	CDialog::OnTimer(nIDEvent);
}

停止加载 按钮:

//关闭定时器,停止进度条的加载
void CSpinDlg::OnBtnStop() 
{
	KillTimer(1);
}

运行起来,点击单步加载,进度条将按照每步为5的长度进行加载
点击自动加载,进度条将按照每步为5的长度进行自动连续加载,直到按下停止加载按钮才会停止加载。

在这里插入图片描述

结语:谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160338.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dpkg命令

    dpkg命令dpkg命令如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg命令。dpkg命令常用格式如下:sudodpkg-Iiptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于–info)sudodpkg-ciptux.deb#查看iptux.

    2022年5月22日
    60
  • IntelliJ IDEA 详细图解最常用的配置 ,适合刚刚用的新人。

    IntelliJ IDEA 详细图解最常用的配置 ,适合刚刚用的新人。IntelliJIDEA使用教程(总目录篇)刚刚使用IntelliJIDEA编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。总结一下,免得下次换了系统,还得再找一遍配置。具体总结如下图:设置外观和字体大小这…

    2022年5月21日
    44
  • robots.txt文件的作用

    robots.txt文件的作用Robots.txt文件的作用:1、屏蔽网站内的死链接。2、屏蔽搜索引擎蜘蛛抓取站点内重复内容和页面。3、阻止搜索引擎索引网站隐私性的内容。因此建立robots.txt文件是很有必要的,网站中重复的内容、页面或者404信息过多,搜索引擎蜘蛛就会认为该网站价值较低,从而降低对该网站的“印象分”,这就是我们经常听到的“降低权重”,这样网站的排名就不好了。robo

    2022年5月8日
    44
  • Apache Tomcat下载、安装、配置图文教程

    Apache Tomcat下载、安装、配置图文教程ApacheTomcat下载、安装、配置图文教程。安装tomcat时网上查到一个不错的博客,关于ApacheTomcat下载、安装、配置图文教程,很详细,可以借鉴。

    2022年5月19日
    61
  • myEclipse2018下载及安装详细教程[通俗易懂]

    myEclipse2018下载及安装详细教程[通俗易懂]下载地址:链接:https://pan.baidu.com/s/1aQEZiikOSBzCkbl39ndLYQ提取码:ee9g复制这段内容后打开百度网盘手机App,操作更方便哦。安装:1.想要安装的路径下新建文件夹,双击运行安装包,运行需要一点时间,耐心等待即可;2.安装包运行成功界面,next下一步:同意协议:选择自定义安装路径:等待安装:注意:安装成功先不启动myEclipse!!!不勾选launchMyEclipseCI:…

    2022年9月26日
    5
  • OpenCV——Canny边缘检测(cv2.Canny())

    OpenCV——Canny边缘检测(cv2.Canny())Canny边缘检测Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。1986年,JohnF.Canny发表了著名的论文AComputationalApproachtoEdgeDetection,在该论文中详述了如何进行边缘检测。Canny()边缘检测步骤Canny边缘检测分为如下几个步骤:步骤1:去噪。噪声会影响边缘检测的准确性,因此首先要将噪声过滤掉。步骤2:计算梯度的幅度与方向。步骤3:非极大值抑制,即适当地让边缘“变瘦”。步骤4:确定边缘。使

    2022年5月25日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号