HOWTO: Create a Progress Bar on the Status Bar
ID: Q142202
--------------------------------------------------------------------------------
The information in this article applies to:The Microsoft Foundation Classes (MFC), used with:
Microsoft Visual C++, 32-bit Editions, versions 4.0, 5.0, 6.0--------------------------------------------------------------------------------
SUMMARY
There are times when you may want to show the progress of a process on the status bar. Developer Studio does this when loading a project. You can implement this by using CStatusBar and CProgressCtrl. MORE INFORMATION
A default AppWizard-generated MFC application has a class (CMainFrame) that contains a member variable m_wndStatusBar of type CStatusBar. The following sample code uses this member variable as the parent of a CProgressCtrl, which will be positioned over the first pane of m_wndStatusBar. First, the CProgressCtrl is created. Then, the sample code simulates a lengthy process using the Sleep function in a for loop. Sample Code /* Compile options needed: default
*/ // This is a menu option handler that takes a long period of time
void CMainFrame::OnLengthyProcess()
{
// Create the CProgressCtrl as a child of the status bar positioned
// over the first pane. RECT rc;
m_wndStatusBar.GetItemRect (0, &rc);
CProgressCtrl wndProgress;
VERIFY (wndProgress.Create(WS_CHILD | WS_VISIBLE, rc,
&m_wndStatusBar, 1));
wndProgress.SetRange(0, 50);
wndProgress.SetStep(1); // Perform some lengthy process, simulated here with a for loop
// and the Sleep function. for(int i=0;i<50;i++)
{
Sleep(50);
wndProgress.StepIt();
}
} Additional query words: Keywords : kbMFC kbProgressBar kbStatBar KbUIDesign kbVC400 kbVC500 kbVC600 kbGrpMFCATL kbMFCCtrlBar
Version : winnt:4.0,5.0,6.0
Platform : winnt
Issue type : kbhowto
Technology : kbvc
ID: Q142202
--------------------------------------------------------------------------------
The information in this article applies to:The Microsoft Foundation Classes (MFC), used with:
Microsoft Visual C++, 32-bit Editions, versions 4.0, 5.0, 6.0--------------------------------------------------------------------------------
SUMMARY
There are times when you may want to show the progress of a process on the status bar. Developer Studio does this when loading a project. You can implement this by using CStatusBar and CProgressCtrl. MORE INFORMATION
A default AppWizard-generated MFC application has a class (CMainFrame) that contains a member variable m_wndStatusBar of type CStatusBar. The following sample code uses this member variable as the parent of a CProgressCtrl, which will be positioned over the first pane of m_wndStatusBar. First, the CProgressCtrl is created. Then, the sample code simulates a lengthy process using the Sleep function in a for loop. Sample Code /* Compile options needed: default
*/ // This is a menu option handler that takes a long period of time
void CMainFrame::OnLengthyProcess()
{
// Create the CProgressCtrl as a child of the status bar positioned
// over the first pane. RECT rc;
m_wndStatusBar.GetItemRect (0, &rc);
CProgressCtrl wndProgress;
VERIFY (wndProgress.Create(WS_CHILD | WS_VISIBLE, rc,
&m_wndStatusBar, 1));
wndProgress.SetRange(0, 50);
wndProgress.SetStep(1); // Perform some lengthy process, simulated here with a for loop
// and the Sleep function. for(int i=0;i<50;i++)
{
Sleep(50);
wndProgress.StepIt();
}
} Additional query words: Keywords : kbMFC kbProgressBar kbStatBar KbUIDesign kbVC400 kbVC500 kbVC600 kbGrpMFCATL kbMFCCtrlBar
Version : winnt:4.0,5.0,6.0
Platform : winnt
Issue type : kbhowto
Technology : kbvc
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货