Aracılığıyla paylaş


CProgressCtrl Sınıf

Windows ortak ilerleme çubuğu denetiminin işlevselliğini sağlar.

Sözdizimi

class CProgressCtrl : public CWnd

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CProgressCtrl::CProgressCtrl Bir CProgressCtrl nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CProgressCtrl::Create bir ilerleme çubuğu denetimi oluşturur ve bunu bir CProgressCtrl nesneye ekler.
CProgressCtrl::CreateEx Belirtilen Windows genişletilmiş stilleriyle bir ilerleme denetimi oluşturur ve bunu bir CProgressCtrl nesneye ekler.
CProgressCtrl::GetBarColor Geçerli ilerleme çubuğu denetimi için ilerleme göstergesi çubuğunun rengini alır.
CProgressCtrl::GetBkColor Geçerli ilerleme çubuğunun arka plan rengini alır.
CProgressCtrl::GetPos İlerleme çubuğunun geçerli konumunu alır.
CProgressCtrl::GetRange İlerleme çubuğu denetimi aralığının alt ve üst sınırlarını alır.
CProgressCtrl::GetState Geçerli ilerleme çubuğu denetiminin durumunu alır.
CProgressCtrl::GetStep Geçerli ilerleme çubuğu denetiminin ilerleme çubuğu için adım artışını alır.
CProgressCtrl::OffsetPos İlerleme çubuğu denetiminin geçerli konumunu belirtilen bir artışla ilerletir ve çubuğu yeni konumu yansıtacak şekilde yeniden çizer.
CProgressCtrl::SetBarColor Geçerli ilerleme çubuğu denetimindeki ilerleme göstergesi çubuğunun rengini ayarlar.
CProgressCtrl::SetBkColor İlerleme çubuğu için arka plan rengini ayarlar.
CProgressCtrl::SetMarquee Geçerli ilerleme çubuğu denetimi için kayan yazı modunu açar veya kapatır.
CProgressCtrl::SetPos İlerleme çubuğu denetimi için geçerli konumu ayarlar ve çubuğu yeni konumu yansıtacak şekilde yeniden çizer.
CProgressCtrl::SetRange İlerleme çubuğu denetimi için en düşük ve en yüksek aralıkları ayarlar ve çubuğu yeni aralıkları yansıtacak şekilde yeniden çizer.
CProgressCtrl::SetState Geçerli ilerleme çubuğu denetiminin durumunu ayarlar.
CProgressCtrl::SetStep İlerleme çubuğu denetimi için adım artışını belirtir.
CProgressCtrl::StepIt İlerleme çubuğu denetiminin geçerli konumunu adım artışına göre ilerletir (bkz SetStep. ) ve çubuğu yeni konumu yansıtacak şekilde yeniden çizer.

Açıklamalar

İlerleme çubuğu denetimi, bir uygulamanın uzun bir işlemin ilerleme durumunu belirtmek için kullanabileceği bir penceredir. İşlem ilerledikçe sistem vurgu rengiyle birlikte, soldan sağa aşamalı olarak doldurulmuş bir dikdörtgenden oluşur.

İlerleme çubuğu denetiminin aralığı ve geçerli konumu vardır. Aralık, işlemin toplam süresini, geçerli konum ise uygulamanın işlemi tamamlamaya yönelik ilerleme durumunu temsil eder. Pencere yordamı, vurgu rengiyle doldurulacak ilerleme çubuğunun yüzdesini belirlemek için aralığı ve geçerli konumu kullanır. Aralık ve geçerli konum değerleri işaretli tamsayılar olarak ifade edildiğinden, geçerli konum değerlerinin olası aralığı -2.147.483.648 ile 2.147.483.647 (dahil) arasındadır.

kullanma CProgressCtrlhakkında daha fazla bilgi için bkz. Denetimler ve Kullanma CProgressCtrl.

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CProgressCtrl

Gereksinimler

Üstbilgi: afxcmn.h

CProgressCtrl::CProgressCtrl

Bir CProgressCtrl nesne oluşturur.

CProgressCtrl();

Açıklamalar

nesnesini oluşturduktan CProgressCtrl sonra ilerleme çubuğu denetimini oluşturmak için çağrısı CProgressCtrl::Create yapın.

Örnek

// Create a progress control object on the stack.
CProgressCtrl myCtrl;

// Create a progress control object on the heap.
CProgressCtrl *pmyCtrl = new CProgressCtrl;

CProgressCtrl::Create

bir ilerleme çubuğu denetimi oluşturur ve bunu bir CProgressCtrl nesneye ekler.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametreler

dwStyle
İlerleme çubuğu denetiminin stilini belirtir. Denetime aşağıdaki ilerleme çubuğu denetim stillerine ek olarak Windows SDK'sında CreateWindow belirtilen pencere stillerinin herhangi bir bileşimini uygulayın:

  • PBS_VERTICAL İlerleme bilgilerini yukarıdan aşağıya dikey olarak görüntüler. Bu bayrak olmadan ilerleme çubuğu denetimi soldan sağa yatay olarak görüntülenir.

  • PBS_SMOOTH İlerleme çubuğu denetiminde kademeli ve düzgün doldurmayı görüntüler. Bu bayrak olmadan denetim bloklarla doldurulur.

rect
İlerleme çubuğu denetiminin boyutunu ve konumunu belirtir. Nesne veya RECT yapı olabilirCRect. Denetimin bir alt pencere olması gerektiğinden, belirtilen koordinatlar istemci alanına pParentWndgöredir.

pParentWnd
İlerleme çubuğu denetiminin üst penceresini ( genellikle bir CDialog) belirtir. NULL olmamalıdır.

nID
İlerleme çubuğu denetiminin kimliğini belirtir.

Dönüş Değeri

Nesne başarıyla oluşturulursa CProgressCtrl TRUE; aksi takdirde YANLIŞ.

Açıklamalar

İki adımda bir CProgressCtrl nesne oluşturursunuz. İlk olarak, nesnesini oluşturan oluşturucuyu çağırın CProgressCtrl ve ardından ilerleme çubuğu denetimini oluşturan öğesini çağırın Create.

Örnek

CProgressCtrl myCtrl;

// Create a smooth child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE | PBS_SMOOTH, CRect(10, 10, 200, 30),
              pParentWnd, IDC_PROGRESSCTRL);

CProgressCtrl::CreateEx

Bir denetim (alt pencere) oluşturur ve bunu nesnesiyle CProgressCtrl ilişkilendirir.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametreler

dwExStyle
Oluşturulan denetimin genişletilmiş stilini belirtir. Genişletilmiş Windows stillerinin listesi için Windows SDK'sında parametresine CreateWindowEx bakındwExStyle.

dwStyle
İlerleme çubuğu denetiminin stilini belirtir. Windows SDK'sında CreateWindow açıklanan pencere stillerinin herhangi bir bileşimini uygulayın.

rect
oluşturulacak pencerenin boyutunu ve konumunu istemci koordinatlarında pParentWndaçıklayan bir RECT yapı başvurusu.

pParentWnd
Denetimin üst öğesi olan pencere işaretçisi.

nID
Denetimin alt pencere kimliği.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Create Yerine, Windows genişletilmiş stil ön biçimi WS_EX_tarafından belirtilen genişletilmiş Windows stilleri uygulamak için kullanınCreateEx.

CProgressCtrl::GetBarColor

Geçerli ilerleme çubuğu denetimi için ilerleme göstergesi çubuğunun rengini alır.

COLORREF GetBarColor() const;

Dönüş Değeri

Geçerli ilerleme çubuğunun değer olarak COLORREF temsil edilen rengi veya CLR_DEFAULT ilerleme göstergesi çubuk rengi varsayılan renkse.

Açıklamalar

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_GETBARCOLOR .

CProgressCtrl::GetBkColor

Geçerli ilerleme çubuğunun arka plan rengini alır.

COLORREF GetBkColor() const;

Dönüş Değeri

Geçerli ilerleme çubuğunun bir değer olarak COLORREF temsil edilen arka plan rengi.

Açıklamalar

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_GETBKCOLOR .

CProgressCtrl::GetPos

İlerleme çubuğunun geçerli konumunu alır.

int GetPos();

Dönüş Değeri

İlerleme çubuğu denetiminin konumu.

Açıklamalar

İlerleme çubuğu denetiminin konumu ekrandaki fiziksel konum değildir, bunun yerine içinde SetRangebelirtilen üst ve alt aralık arasındadır.

Örnek

CProgressCtrl myCtrl;

// Create a child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), pParentWnd,
              IDC_PROGRESSCTRL);

// Set the new position to half of the current position.
myCtrl.SetPos(myCtrl.GetPos() / 2);

CProgressCtrl::GetRange

İlerleme çubuğu denetiminin geçerli alt ve üst sınırlarını veya aralığını alır.

void GetRange(
    int& nLower,
    int& nUpper);

Parametreler

nLower
İlerleme çubuğu denetiminin alt sınırını alan bir tamsayı başvurusu.

nUpper
İlerleme çubuğu denetiminin üst sınırını alan bir tamsayı başvurusu.

Açıklamalar

Bu işlev, alt ve üst sınırların değerlerini sırasıyla ve nUppertarafından nLower başvuruda bulunan tamsayılara kopyalar.

Örnek

CProgressCtrl myCtrl;

// Create a child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), pParentWnd,
              IDC_PROGRESSCTRL);

// Set the position to be one-fourth of the total range.
int nLower, nUpper;
myCtrl.GetRange(nLower, nUpper);
myCtrl.SetPos((nUpper - nLower) / 4);

CProgressCtrl::GetState

Geçerli ilerleme çubuğu denetiminin durumunu alır.

int GetState() const;

Dönüş Değeri

Aşağıdaki değerlerden biri olan geçerli ilerleme çubuğu denetiminin durumu:

Değer Durum
PBST_NORMAL Sürüyor
PBST_ERROR Hata
PBST_PAUSED Duraklatıldı

Açıklamalar

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_GETSTATE .

Örnek

İlk kod örneği, m_progressCtrlilerleme çubuğu denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken sonraki örnekte kullanılır.

// Variable to access the progress control
CProgressCtrl m_progressCtrl;

Sonraki kod örneği geçerli ilerleme çubuğu denetiminin durumunu alır.

// Display the current state of the progress control.
CString str = _T("The progress control state is ");
int progState = m_progressCtrl.GetState();
if (progState == PBST_NORMAL)
   str += _T("NORMAL");
else if (progState == PBST_PAUSED)
   str += _T("PAUSED");
else if (progState == PBST_ERROR)
   str += _T("ERROR");
else
   str += _T("unknown");
AfxMessageBox(str, MB_ICONEXCLAMATION);

CProgressCtrl::GetStep

Geçerli ilerleme çubuğu denetiminin ilerleme çubuğu için adım artışını alır.

int GetStep() const;

Dönüş Değeri

İlerleme çubuğunun adım artışı.

Açıklamalar

Adım artışı, bir çağrının CProgressCtrl::StepIt ilerleme çubuğunun geçerli konumunu artırdığı tutardır.

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_GETSTEP .

Örnek

İlk kod örneği, m_progressCtrlilerleme çubuğu denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken sonraki örnekte kullanılır.

// Variable to access the progress control
CProgressCtrl m_progressCtrl;

Sonraki kod örneği, geçerli ilerleme çubuğu denetiminin adım artışını alır.

// Get the step increment for the progress control.
CString str;
int incr = m_progressCtrl.GetStep();
str.Format(_T("The step increment is %d."), incr);
AfxMessageBox(str, MB_ICONEXCLAMATION);

CProgressCtrl::OffsetPos

İlerleme çubuğu denetiminin geçerli konumunu belirtilen nPos artışla ilerletir ve çubuğu yeni konumu yansıtacak şekilde yeniden çizer.

int OffsetPos(int nPos);

Parametreler

nPos
Konumu ilerletmek için gereken tutar.

Dönüş Değeri

İlerleme çubuğu denetiminin önceki konumu.

Örnek

CProgressCtrl myCtrl;

// Create a child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), pParentWnd,
              IDC_PROGRESSCTRL);

// Offset the position by one-fourth of the total range.
int nLower, nUpper;
myCtrl.GetRange(nLower, nUpper);
myCtrl.OffsetPos((nUpper - nLower) / 4);

CProgressCtrl::SetBarColor

Geçerli ilerleme çubuğu denetimindeki ilerleme göstergesi çubuğunun rengini ayarlar.

COLORREF SetBarColor(COLORREF clrBar);

Parametreler

clrBar
[in] COLORREF İlerleme göstergesi çubuğunun yeni rengini belirten değer. İlerleme çubuğunun varsayılan rengini kullanmasını sağlamak için belirtin CLR_DEFAULT .

Dönüş Değeri

İlerleme göstergesi çubuğunun bir COLORREF değer olarak gösterilen önceki rengi veya CLR_DEFAULT ilerleme göstergesi çubuğunun rengi varsayılan renkse.

Açıklamalar

yöntemi, SetBarColor ilerleme çubuğu rengini yalnızca Windows Vista teması etkin değilse ayarlar.

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_SETBARCOLOR .

Örnek

İlk kod örneği, m_progressCtrlilerleme çubuğu denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken sonraki örnekte kullanılır.

// Variable to access the progress control
CProgressCtrl m_progressCtrl;

Sonraki kod örneği ilerleme çubuğunun rengini kırmızı, yeşil, mavi veya varsayılan olarak değiştirir.

// Set the progress bar color to red, green, blue, or
// the system default. The SetBarColor method has an
// effect only if the Windows system theme is Classic.
void CCProgressCtrl_s1Dlg::OnSetbarcolorRed()
{
   m_progressCtrl.SetBarColor(RGB(255, 0, 0));
}

void CCProgressCtrl_s1Dlg::OnSetbarcolorGreen()
{
   m_progressCtrl.SetBarColor(RGB(0, 255, 0));
}

void CCProgressCtrl_s1Dlg::OnSetbarcolorBlue()
{
   m_progressCtrl.SetBarColor(RGB(0, 0, 255));
}

void CCProgressCtrl_s1Dlg::OnSetbarcolorOri()
{
   m_progressCtrl.SetBarColor(CLR_DEFAULT);
}

CProgressCtrl::SetBkColor

İlerleme çubuğu için arka plan rengini ayarlar.

COLORREF SetBkColor(COLORREF clrNew);

Parametreler

clrNew
COLORREF Yeni arka plan rengini belirten bir değer. CLR_DEFAULT İlerleme çubuğu için varsayılan arka plan renginin kullanılacağı değeri belirtin.

Dönüş Değeri

COLORREF Önceki arka plan rengini veya arka plan renginin CLR_DEFAULT varsayılan renk olup olmadığını gösteren değer.

Örnek

CProgressCtrl myCtrl;

// Create a smooth child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE | PBS_SMOOTH, CRect(10, 10, 200, 30),
              pParentWnd, IDC_PROGRESSCTRL);

// Set the background color to red.
myCtrl.SetBkColor(RGB(255, 0, 0));

CProgressCtrl::SetMarquee

Geçerli ilerleme çubuğu denetimi için kayan yazı modunu açar veya kapatır.

BOOL SetMarquee(
    BOOL fMarqueeMode,
    int nInterval);

Parametreler

fMarqueeMode
[in] TRUE veya seçim çerçevesi modunu FALSE kapatmak için.

nInterval
[in] Kayan yazı animasyonu güncelleştirmeleri arasındaki milisaniye cinsinden süre.

Dönüş Değeri

Bu yöntem her zaman döndürür TRUE.

Açıklamalar

Kayan yazı modu açıldığında ilerleme çubuğu animasyonlu olur ve bir tiyatro yazısında bir işaret gibi kaydırılır.

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_SETMARQUEE .

Örnek

İlk kod örneği, m_progressCtrlilerleme çubuğu denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken sonraki örnekte kullanılır.

// Variable to access the progress control
CProgressCtrl m_progressCtrl;

Sonraki kod örneği, kayan yazı kaydırma animasyonunu başlatır ve durdurur.

// Turn the marquee animation on or off.
void CCProgressCtrl_s1Dlg::OnSetmarqueeOn()
{
   m_progressCtrl.SetMarquee(TRUE, nMarqueeInterval);
}

void CCProgressCtrl_s1Dlg::OnSetmarqueeOff()
{
   m_progressCtrl.SetMarquee(FALSE, nMarqueeInterval);
}

CProgressCtrl::SetPos

İlerleme çubuğu denetiminin geçerli konumunu belirtilen nPos şekilde ayarlar ve çubuğu yeni konumu yansıtacak şekilde yeniden çizer.

int SetPos(int nPos);

Parametreler

nPos
İlerleme çubuğu denetiminin yeni konumu.

Dönüş Değeri

İlerleme çubuğu denetiminin önceki konumu.

Açıklamalar

İlerleme çubuğu denetiminin konumu ekrandaki fiziksel konum değildir, bunun yerine içinde SetRangebelirtilen üst ve alt aralık arasındadır.

Örnek

CProgressCtrl myCtrl;

// Create a child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), pParentWnd,
              IDC_PROGRESSCTRL);

// Set the range to be 0 to 100.
myCtrl.SetRange(0, 100);

// Set the position to be half, 50.
myCtrl.SetPos(50);

CProgressCtrl::SetRange

İlerleme çubuğu denetiminin aralığının üst ve alt sınırlarını ayarlar ve çubuğu yeni aralıkları yansıtacak şekilde yeniden çizer.

void SetRange(
    short nLower,
    short nUpper);

void SetRange32(
    int nLower,
    int nUpper);

Parametreler

nLower
Aralığın alt sınırını belirtir (varsayılan değer sıfırdır).

nUpper
Aralığın üst sınırını belirtir (varsayılan değer 100'dür).

Açıklamalar

Üye işlevi SetRange32 ilerleme denetimi için 32 bit aralığı ayarlar.

Örnek

CProgressCtrl myCtrl;

// Create a smooth child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE | PBS_SMOOTH, CRect(10, 10, 200, 30),
              pParentWnd, IDC_PROGRESSCTRL);

// Set the range to be 0 to 100.
myCtrl.SetRange(0, 100);

CProgressCtrl::SetState

Geçerli ilerleme çubuğu denetiminin durumunu ayarlar.

int SetState(int iState);

Parametreler

iState
[in] İlerleme çubuğunun ayarlanacağı durum. Aşağıdaki değerlerden birini kullanın:

  • PBST_NORMAL - Devam ediyor
  • PBST_ERROR -Hata
  • PBST_PAUSED -Duraklatıldı

Dönüş Değeri

Geçerli ilerleme çubuğu denetiminin önceki durumu.

Açıklamalar

Bu yöntem, Windows SDK'sında açıklanan iletiyi gönderir PBM_SETSTATE .

Örnek

İlk kod örneği, m_progressCtrlilerleme çubuğu denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken sonraki örnekte kullanılır.

// Variable to access the progress control
CProgressCtrl m_progressCtrl;

Sonraki kod örneği, geçerli ilerleme çubuğu denetiminin durumunu Duraklatıldı veya Devam Ediyor olarak ayarlar.

// Set the progrees control to normal or paused state.
void CCProgressCtrl_s1Dlg::OnSetstateNormal()
{
   m_progressCtrl.SetState(PBST_NORMAL);
}

void CCProgressCtrl_s1Dlg::OnSetstatePaused()
{
   m_progressCtrl.SetState(PBST_PAUSED);
}

CProgressCtrl::SetStep

İlerleme çubuğu denetimi için adım artışını belirtir.

int SetStep(int nStep);

Parametreler

nStep
Yeni adım artışı.

Dönüş Değeri

Önceki adım artışı.

Açıklamalar

Adım artışı, ilerleme çubuğunun geçerli konumunu artırma çağrısının CProgressCtrl::StepIt miktarıdır.

Varsayılan adım artışı 10'dur.

Örnek

CProgressCtrl myCtrl;

// Create a child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), pParentWnd,
              IDC_PROGRESSCTRL);

// Set the size to be 1/10 of the total range.
int nLower, nUpper;
myCtrl.GetRange(nLower, nUpper);
myCtrl.SetStep((nUpper - nLower) / 10);

CProgressCtrl::StepIt

İlerleme çubuğu denetiminin geçerli konumunu adım artışına göre ilerletir ve çubuğu yeni konumu yansıtacak şekilde yeniden çizer.

int StepIt();

Dönüş Değeri

İlerleme çubuğu denetiminin önceki konumu.

Açıklamalar

Adım artışı üye işlevi tarafından CProgressCtrl::SetStep ayarlanır.

Örnek

CProgressCtrl myCtrl;

// Create a child progress control.
myCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), pParentWnd,
              IDC_PROGRESSCTRL);

// Advance the position to the next step.
myCtrl.StepIt();

Ayrıca bkz.

MFC Örneği CMNCTRL2
CWnd Sınıf
Hiyerarşi Grafiği