MFC应用实例:[15]状态栏添加进度条

 时间:2024-10-13 20:26:23

1、创建一个单文档工程将其命名为Progress

MFC应用实例:[15]状态栏添加进度条

2、从CStatusBar类派生出CProgressStatusBar给他添加如下成员m_Progress并添加内联函数:CProgressCtrl& GetProgressCtrl() { return m_Progress; };

MFC应用实例:[15]状态栏添加进度条

3、然后重载CStatusBar类的两个重要成员函数OnCreate(),OnSi所鼙艘疯ze()并添加一下代码:int CProgressStatusBar::晦倘佳鳎OnCreate(LPCREATESTRUCT lpCreateStruct){ VERIFY(CStatusBar::OnCreate(lpCreateStruct) ==0 ); VERIFY(m_Progress.Create(WS_CHILD|WS_VISIBLE, CRect(0,0,0,0), this, IDC_PROGRESS)); return 0;}void CProgressStatusBar::OnSize(UINT nType, int cx, int cy){ CStatusBar::OnSize(nType, cx, cy); CRect rect; GetItemRect(1, &rect); m_Progress.MoveWindow(rect); }

MFC应用实例:[15]状态栏添加进度条

4、在CMainFrame的OnCreate()函数中添加一个计时器代码如下:SetT坡纠课柩imer(1,100,NULL);矣喾动痞并添加WM_TIMER消息函数,该消息的处理函数如下:void CMainFrame::OnTimer(UINT nIDEvent){ int nLower,nUpper; m_wndStatusBar.GetProgressCtrl().GetRange(nLower,nUpper); if(m_Pos>=nUpper) m_Pos=0; m_wndStatusBar.GetProgressCtrl().SetPos(m_Pos); m_Pos+=1; CFrameWnd::OnTimer(nIDEvent);}

MFC应用实例:[15]状态栏添加进度条

5、程序运行效果如下图:状态栏出现进度条。

MFC应用实例:[15]状态栏添加进度条
  • 单元格中如何输入具体的数值设置列宽
  • 足球栏球技巧之正面拦截技巧
  • Word2016怎么插入小方框?
  • Excel2010中怎样设置纸张大小
  • 怎样在电脑中创建五角星?
  • 热门搜索
    中秋节怎么放假 祁连山旅游 心情低落说说发朋友圈 路由器连接上但上不了网 西安旅游攻略4天 阿里巴巴怎么推广 峨眉山旅游地图 也门在哪里 如何快速赚钱 呢大衣怎么清洗