MFC 实现来回滚动效果的进度条

       有的时候我们的程序耗时比较长,为了给用户一个直观的感受程序不是卡死了,还在运行中,这时候显示个进度条在那里还是比较友好的。  但是很多时候我们并不知道具体的进度,所以这个时候让进度条来回滚动比较合适。如下图所示,第一个进度条是普通的进度条,第二个就是我们要做的来回滚动的进度条。

要使得进度条光标来回滚动,需要将设置进度条风格为:PBS_MARQUEE 。但是仅仅设置该风格是不能够让进度条来回滚动的。还需要发送消息

PBM_SETMARQUEE 。

下面是实现示例:

1. 创建基于对话框的MFC 程序。在.h 文件中定义进度条控件变量CProgressCtrl m_PorgessCtrl2; (不需要在界面上拖控件,直接定义控件变量然后create)

2. 在OnInitDialog 函数中 ,添加如下代码

  m_PorgessCtrl2.Create(WS_VISIBLE|PBS_MARQUEE,CRect(50,200,400,230),this,11);

  m_PorgessCtrl2.SendMessage(PBM_SETMARQUEE,TRUE,30);

  完成,运行程序进度条实现来回滚动效果。

win32控件一览:https://msdn.microsoft.com/en-us/library/bb773169(v=vs.85).aspx

Progress bar control: https://docs.microsoft.com/zh-cn/windows/win32/controls/progress-bar-control

Marquee Style : https://docs.microsoft.com/zh-cn/windows/win32/controls/progress-bar-control#marquee-style

原文地址:https://www.cnblogs.com/small-lazybee/p/13092907.html