有的時候我們的程序耗時比較長,為了給用戶一個直觀的感受程序不是卡死了,還在運行中,這時候顯示個進度條在那里還是比較友好的。 但是很多時候我們並不知道具體的進度,所以這個時候讓進度條來回滾動比較合適。如下圖所示,第一個進度條是普通的進度條,第二個就是我們要做的來回滾動的進度條。
要使得進度條光標來回滾動,需要將設置進度條風格為: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