MFC在狀態列中使用進度條控制項

2021-07-28 14:57:19 字數 1403 閱讀 2051



步驟: 0. 建立mfc對話方塊程式

1. 增加標頭檔案,cprogressctrl需要使用

2. 在類中宣告2個控制項:狀態列 + 進度條(進度條在資源編輯器中建立)

3. 進度條是資源,有

id,需要物件資料交換

4. 建立、布置狀態列 (在初始化對話方塊函式中)

5. 設定狀態列的某一分割槽為進度條父視窗

6. 使用定時器讓進度條動起來

執行顯示:

主要**:

1-2-3

#include //包含標頭檔案

cstatusbar m_status;

cprogressctrl m_progress;

ddx_control(pdx, idc_progress1, m_progress); //物件資料交換

4-5

m_status.create(this);	//建立狀態列

uint arr = ;

m_status.setindicators(arr, sizeof(arr)/sizeof(uint));

m_status.setpaneinfo(0, 1001, 0, 100); //設定分割槽id及大小

m_status.setpaneinfo(1, 1002, 0, 200);

m_status.setpaneinfo(2, 1003, 0, 200);

m_status.setpanetext(0, _t("gogo"));

repositionbars(afx_idw_controlbar_first,afx_idw_controlbar_last,0);

rect rt;

m_status.getitemrect(2, &rt); //獲取狀態列所需要區的視窗矩形

m_progress.setparent(&m_status); //設定狀態列為父

m_progress.movewindow(&rt);

m_progress.showwindow(1);

6

//訊息對映巨集:     on_wm_timer()

//類內宣告函式: afx_msg void ontimer(uint nid);

//類外實現函式:

void mydialog::ontimer(uint nid)

7. 不要忘記

呼叫settimer

觸發定時器

settimer(1,100,null);

在狀態列動態加進度條

一般情況下,我們可以建立非模式對話方塊並在上面顯示進度條。如果能夠利用狀態條,在狀態條中動態地新增並顯示進度條,將會更加方便直觀。下面將講述如何在delphi 5中程式設計實現在狀態條中動態地新增進度條。具體的過程如下 2 在窗體中新增乙個狀態列元件statusbar1,乙個button元件butt...

狀態列中新增進度條

將進度條新增到狀態列中不是很困難,只要幾步就可以了 1.建立乙個form工程,在窗體上新增乙個狀態列stat,新增乙個進度條progressbar1 2.為了演示進度情況,再新增乙個timer1 3.在stat的屬性中,將showpanels設為true 4.在stat的panels屬性中新增乙個s...

自定義訊息 在狀態列走進度條

1 在mainframe cpp 中 definewm datawm user 100 定義乙個自定義訊息 2在h 中 afx msg lresult ondata wparam wparam,lparam lparam 新增宣告 declare message map on message wm ...