MFC创建处理中进度条,循环滚动进度条的方法

创建一个不显示实际进度的循环滚动进度条,类似于Windows XP启动界面的进度条
新建一个MFC项目TestProgress,编辑界面,添加一个进度条,两个按钮,实现点击start进度条循环滚动,点击stop进度条消失
在这里插入图片描述
右键进度条,属性,将Marquee设置为true
在这里插入图片描述
右击进度条,添加变量。设置变量名字m_progress
在这里插入图片描述
在CTestProgressDlg::OnInitDialog中添加以下语句,设置滚动速度和Marquee显示

// TODO : 在此添加额外的初始化代码
m_progress.SetMarquee(true,30);

右键单击start按钮,添加事件处理程序,选择消息类型BN_CLICKED,点击添加编辑
在这里插入图片描述
之后在CTestProgressDlg::OnBnClickedButton1中编辑以下代码控制进度条的可见性

void CTestProgressDlg::OnBnClickedButton1(){
	m_progress.ShowWindow(true);
}

同样的方法为stop按钮添加事件处理

void CTestProgressDlg::OnBnClickedButton2(){
	m_progress.ShowWindow(false);
}

效果:
在这里插入图片描述
对于进度条,使用以下方法让进度条设置Marquee样式

m_progress.ModifyStyle(NULL,PBS_MARQUEE);

ModifyStyle的第一个参数是移除的样式,第二个参数是添加的样式。
而使用以下方法会让进度条恢复正常属性

m_progress.ModifyStyle(PBS_MARQUEE,NULL);

之后可以使用代码设置正常的进度状态显示

m_progress.SetRange(0, 100);
m_progress.SetPos(60);
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MFC,如果想要实现进度条循环滚动效果,首先我们需要创建一个进度条控件并进行初始化。在初始化的过程,我们需要设置进度条的范围和初始值,以及样式等。 接下来,我们可以通过使用一个定时器来控制进度条滚动效果。在定时器的回调函数,我们可以通过改变进度条的当前值来实现滚动的效果。我们可以通过增加或减少当前值,来控制进度条滚动方向和速度。如果当前值达到了进度条的最大值(或最小值),我们可以将当前值重新设置为进度条的最小值(或最大值),以实现循环滚动的效果。 此外,我们还可以添加一些额外的功能来增强进度条的效果。例如,可以在进度条上显示文本信息,以提供更多的用户反馈。我们可以通过设置进度条的文本格式和文本内容来实现这一功能。 在程序的其他部分,我们可以根据需要来控制进度条的开始和停止。例如,在某个按钮的点击事件,我们可以启动或停止进度条滚动。在启动进度条滚动之前,我们需要启动定时器,并设置定时器的回调函数。而在停止进度条滚动时,我们需要停止定时器。 总而言之,通过在MFC创建进度条控件,并结合定时器和其他相关功能,我们可以实现一个循环滚动进度条效果。这样的效果可以提供实时的进度信息给用户,并增加程序的交互性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值