3 回答

TA貢獻1794條經驗 獲得超8個贊
首先在頁面中加入進度條控件,具體叫什么記不清了,自己找一下
然后綁定變量
如果沒猜錯的話OnInitPlayer(); 這個函數是整個文件導入的函數吧。
應該從這個函數下手,因為只有這個函數里面才知道文件真正的導入進度。
在這個函數中,首先獲取文件的大小,然后沒導入一部分之后,算好比例,更新界面上的進度條就可以了。

TA貢獻1815條經驗 獲得超10個贊
首先打開文件不需要進度條,open是立刻返回,只有讀入的時候,如果文件很大才需要進度條,對用戶提示。
方法1 循環讀入文件,每讀一段數據,就更新下進度條,讓它前進一小步。
方法2 多線程,在另一個線程里讀入,并更新進度條,可以先把進度條做參數傳入

TA貢獻1789條經驗 獲得超8個贊
1.在MainFrm.h中生命對象:
CProgressCtrl m_progres;
2.在CMainFrame::OnCreate函數中創建狀態欄樣式:
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
3.添加WM_PAINT消息,在消息的處理函數中:
CRect rect;
m_wndStatusBar.GetItemRect(0,&rect);
if(!m_progres.m_hWnd)
{
m_progres.Create(WS_CHILD | WS_VISIBLE ,//| PBS_SMOOTH,
rect,&m_wndStatusBar,123);
}
else
{
m_progres.MoveWindow(rect);
}
4.添加一個菜單,對其進行測試:
void CMainFrame::OnRun()
{
m_progres.StepIt();
}
- 3 回答
- 0 關注
- 135 瀏覽
添加回答
舉報