MFC 单文档应用程序如何为状态栏添加进度条

来源:互联网 发布:高德导航软件 编辑:程序博客网 时间:2024/06/06 13:20

1.将CMainFrame头文件中的m_wndStatusBar变量的访问属性修改为public;

public:

CMFCStatusBar     m_wndStatusBar;

2.添加IDS_PROGRESS标识的字符串,并将标题修改为进度条;


3.将CMainFrame源文件中指示器修改为如下:

static UINT indicators[] ={ID_SEPARATOR,           // 状态行指示器ID_INDICATOR_CLOCK,//添加指示器,用于显示时间信息IDS_PROGRESS,//状态栏上进度条/*ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,*/};

ID_INDICATOR_CLOCK是在状态栏中定义时间的,在前面的博客中有介绍;

4.在CMainFrame源文件图片处添加红框中两行代码:


5.在任意函数需要添加进度条处添加如下代码即可实现在状态栏显示进度条:

CMainFrame *pFrame=(CMainFrame *)AfxGetMainWnd();//获取框架类指针pFrame->m_wndStatusBar.EnablePaneProgressBar(2,blockModel.size(),TRUE);//设置状态栏上的进度条的最大长度 pFrame->m_wndStatusBar.SetPaneProgress(2,i+1,TRUE);//设置状态栏上进度条的当前位置,其中的2是进度条在指示器数组中的索引号
其中的blockModel.size()为一个容器的大小,在这里将其大小设置为进度条的最大长度,其中的i为遍历该容器的索引,从0开始,因此当前位置需设为i+1,否则进度条只显示到99%,到此设置完毕,效果图如下:




原创粉丝点击