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 CProgressCtrl
hakkında daha fazla bilgi için bkz. Denetimler ve Kullanma CProgressCtrl
.
Devralma Hiyerarşisi
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 pParentWnd
gö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 pParentWnd
açı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 SetRange
belirtilen ü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 nUpper
tarafı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_progressCtrl
ilerleme ç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_progressCtrl
ilerleme ç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_progressCtrl
ilerleme ç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_progressCtrl
ilerleme ç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 SetRange
belirtilen ü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 ediyorPBST_ERROR
-HataPBST_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_progressCtrl
ilerleme ç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();