當前位置:編程學習大全網 - 熱門推薦 - vc6.0裏MFC進度條如何使用

vc6.0裏MFC進度條如何使用

演練CProgress

7.1

進度條的主要功能

進度條控制(Progress

Control)主要用來進行數據讀寫、文件拷貝和磁盤格式等操作時的工作進度提示情況,如安裝程序等,伴隨工作進度的進展,進度條的矩形區域從左到右利用當前活動窗口標題條的顏色來不斷填充。

進度條控制在MFC類庫中的封裝類為CProgressCtrl,通常僅作為輸出類控制,所以其操作主要是設置進度條的範圍和當前位置,並不斷地更新當前位置。進度條的範圍用來表示整個操作過程的時間長度,當前位置表示完成情況的當前時刻。SetRange()函數用來設置範圍,初始範圍為0-100,

SetPos()函數用來設置當前位置,初始值為0,SetStep()函數用來設置步長,初始步長為10,StepIt()函數用來按照當前步長更新位置,OffsetPos()函數用來直接將當前位置移動壹段距離。如果範圍或位置發生變化,那麽進度條將自動重繪進度區域來及時反映當前工作的進展情況。

進度條的對象結構

進度條控制的建立方法

CProgressCtrl

&ProgressCtrl

建立進度條控制對象結構

Create

建立進度條控制對象並綁定對象

進度條控制類CprogressCtrl::Create的調用格式如下:

BOOL

Create(

DWORD

dwStyle,

const

RECT&

rect,

CWnd*

pParentWnd,

UINT

nID

);

其中參數dwStyle用來確定進度條控制的控制風格;參數rect用來確定進度條控制的大小和位置;參數pParentWnd用來確定進度條父窗口指針;參數nID用來確定進度條控制的控制符ID值。

7.2

進度條控制的類屬性

進度條控制的類屬性包括設置進度條最大最小控制範圍SetRange、設置進度條當前位置

SetPos、設置進度條當前位置偏移值OffsetPos和設置進度條控制增量值SetStep。

7.3

進度條控制的操作方法

進度條控制的操作方法主要是使進度條控制並重繪進度條的StepIt函數。

進度條控制的應用技巧示例

1、利用應用程序向導AppWizard生成基於對象框的應用程序CProgDlg;

2、在對話框中設置進度條和靜態文本控制,其ID分別為IDC_PROG和IDCPERCENT;

在對話框初始代碼中增加控制的範圍和位置:

在ProgDlg.h中設置兩個數據成員,用來表示進度條的最大值和步長:

//ProgDlg.h

class

CProgDlg:public

Cdialog

{

......//其它代碼

public:

int

m_nMax,m_nStep;

......

//其它代碼

}

(2)在ProgDlg.cpp中設置初始狀態

BOOL

CProgDlg::OnInitDialog()

{

Cdialog::OnInitDialog();

......//其它代碼

//TODO:Add

extra

initialization

here

CProgressCtrl

*pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);

pProgCtrl->SetRange(0,200);//設置進度條範圍

......//其它代碼

m_nMax=200;

m_nStep=10;

SetTimer(1,1000,NULL);//設置進度條更新時鐘

return

TRUE;

}

(3)完善WM_TIMER消息處理,使進度條按照當前步長進行更新,同時完成進度條的百分比顯示:

void

CProgDlg::OnTimer(UINT

nIDEvent)

{

//TODO:Add

your

message

handler

CProgressCtrl

*pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);

int

nPrePos=pProgCtrl->StepIt();//取得更新前位置

char

test[10];

int

nPercent=(int)(((nPrePos+m_nStep)/m_nMax*100+0.5);

wsprintf(test,%d%%,nPercent);

GetDlgItem(IDC_PERCENT)->SetWindowText(text);

Cdialog::OnTimer(nIDEvent);

}

  • 上一篇:三國誌10在哪?
  • 下一篇:編程遙控霸王龍玩具怎麽玩
  • copyright 2024編程學習大全網