Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Biedt de functionaliteit van het algemene besturingselement voor de voortgangsbalk van Windows.
Syntaxis
class CProgressCtrl : public CWnd
Leden
Openbare constructors
| Naam | Description |
|---|---|
CProgressCtrl::CProgressCtrl |
Maakt een CProgressCtrl object. |
Openbare methoden
| Naam | Description |
|---|---|
CProgressCtrl::Create |
Hiermee maakt u een besturingselement voor de voortgangsbalk en koppelt u dit aan een CProgressCtrl object. |
CProgressCtrl::CreateEx |
Hiermee maakt u een voortgangsbeheer met de opgegeven uitgebreide Stijlen van Windows en koppelt u dit aan een CProgressCtrl object. |
CProgressCtrl::GetBarColor |
Hiermee haalt u de kleur van de voortgangsindicatorbalk op voor het huidige besturingselement voor de voortgangsbalk. |
CProgressCtrl::GetBkColor |
Hiermee haalt u de achtergrondkleur van de huidige voortgangsbalk op. |
CProgressCtrl::GetPos |
Hiermee haalt u de huidige positie van de voortgangsbalk op. |
CProgressCtrl::GetRange |
Hiermee haalt u de onder- en bovengrenzen van het bereik van het besturingselement voor de voortgangsbalk op. |
CProgressCtrl::GetState |
Hiermee haalt u de status van het huidige besturingselement voor de voortgangsbalk op. |
CProgressCtrl::GetStep |
Hiermee wordt de stapstap voor de voortgangsbalk van het huidige besturingselement voor de voortgangsbalk opgehaald. |
CProgressCtrl::OffsetPos |
Hiermee wordt de huidige positie van een voortgangsbalk besturingselement met een opgegeven verhoging verhoogd en wordt de balk opnieuw getekend om de nieuwe positie weer te geven. |
CProgressCtrl::SetBarColor |
Hiermee stelt u de kleur van de voortgangsindicatorbalk in het huidige besturingselement voor de voortgangsbalk in. |
CProgressCtrl::SetBkColor |
Hiermee stelt u de achtergrondkleur voor de voortgangsbalk in. |
CProgressCtrl::SetMarquee |
Hiermee schakelt u de selectiemodus in of uit voor het huidige besturingselement voor de voortgangsbalk. |
CProgressCtrl::SetPos |
Hiermee stelt u de huidige positie in voor een voortgangsbalk en tekent u de balk opnieuw om de nieuwe positie weer te geven. |
CProgressCtrl::SetRange |
Hiermee stelt u het minimum- en maximumbereik in voor een voortgangsbalk en stelt u de balk opnieuw in om de nieuwe bereiken weer te geven. |
CProgressCtrl::SetState |
Hiermee stelt u de status van het huidige besturingselement voor de voortgangsbalk in. |
CProgressCtrl::SetStep |
Hiermee geeft u de stap increment voor een voortgangsbalk besturingselement. |
CProgressCtrl::StepIt |
Hiermee wordt de huidige positie voor een voortgangsbalkcontrole door de stapstap verhoogd (zie SetStep) en wordt de balk opnieuw getekend om de nieuwe positie weer te geven. |
Opmerkingen
Een voortgangsbalk besturingselement is een venster dat een toepassing kan gebruiken om de voortgang van een langdurige bewerking aan te geven. Het bestaat uit een rechthoek die geleidelijk wordt gevuld, van links naar rechts, met de markeringskleur van het systeem als een bewerking vordert.
Een voortgangsbalk heeft een bereik en een huidige positie. Het bereik vertegenwoordigt de totale duur van de bewerking en de huidige positie vertegenwoordigt de voortgang die de toepassing heeft gemaakt voor het voltooien van de bewerking. De vensterprocedure maakt gebruik van het bereik en de huidige positie om het percentage van de voortgangsbalk te bepalen dat moet worden gevuld met de markeringskleur. Omdat het bereik en de huidige positiewaarden worden uitgedrukt als ondertekende gehele getallen, is het mogelijke bereik van huidige positiewaarden van -2.147.483.648 tot 2.147.483.647 inclusief.
Zie Besturingselementen en gebruiken CProgressCtrlvoor meer informatie over het gebruikCProgressCtrl.
Overnamehiërarchie
CProgressCtrl
Requirements
Rubriek:afxcmn.h
CProgressCtrl::CProgressCtrl
Maakt een CProgressCtrl object.
CProgressCtrl();
Opmerkingen
Nadat u het CProgressCtrl object hebt gemaakt, roept CProgressCtrl::Create u aan om het besturingselement voor de voortgangsbalk te maken.
Example
// Create a progress control object on the stack.
CProgressCtrl myCtrl;
// Create a progress control object on the heap.
CProgressCtrl *pmyCtrl = new CProgressCtrl;
CProgressCtrl::Create
Hiermee maakt u een besturingselement voor de voortgangsbalk en koppelt u dit aan een CProgressCtrl object.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwStyle
Hiermee geeft u de stijl van het besturingselement voor de voortgangsbalk op. Pas een combinatie van vensterstijlen toe die zijn toegeschreven in CreateWindow de Windows SDK, naast de volgende stijlen voor voortgangsbalkbeheer, op het besturingselement:
PBS_VERTICALHiermee wordt voortgangsinformatie verticaal weergegeven, van boven naar beneden. Zonder deze vlag wordt het besturingselement voor de voortgangsbalk horizontaal van links naar rechts weergegeven.PBS_SMOOTHGeeft geleidelijke, vloeiende invulling van de voortgangsbalkbesturingselement weer. Zonder deze vlag wordt het besturingselement gevuld met blokken.
rect
Hiermee geeft u de grootte en positie van het voortgangsbalk besturingselement. Het kan een CRect object of een RECT structuur zijn. Omdat het besturingselement een onderliggend venster moet zijn, zijn de opgegeven coördinaten relatief ten opzichte van het clientgebied van de pParentWnd.
pParentWnd
Hiermee geeft u het bovenliggende venster van het voortgangsbalk besturingselement, meestal een CDialog. Deze mag niet NULL zijn.
nID
Hiermee geeft u de id van het voortgangsbalk besturingselement.
Retourwaarde
WAAR als het CProgressCtrl object is gemaakt; anders ONWAAR.
Opmerkingen
U maakt een CProgressCtrl object in twee stappen. Roep eerst de constructor aan, waarmee het CProgressCtrl object wordt gemaakt en roep vervolgens Createhet besturingselement voor de voortgangsbalk aan.
Example
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
Hiermee maakt u een besturingselement (een onderliggend venster) en koppelt u dit aan het CProgressCtrl object.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwExStyle
Hiermee geeft u de uitgebreide stijl van het besturingselement dat wordt gemaakt. Zie de dwExStyle parameter voor in de Windows SDK voor CreateWindowEx een lijst met uitgebreide Windows-stijlen.
dwStyle
Hiermee geeft u de stijl van het besturingselement voor de voortgangsbalk op. Pas een combinatie van vensterstijlen toe die worden beschreven in CreateWindow de Windows SDK.
rect
Een verwijzing naar een RECT structuur die de grootte en positie van het venster beschrijft dat moet worden gemaakt, in clientcoördinaten van pParentWnd.
pParentWnd
Een aanwijzer naar het venster dat het bovenliggende besturingselement is.
nID
De id van het onderliggende venster van het besturingselement.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Gebruik CreateEx in plaats van Create uitgebreide Windows-stijlen toe te passen, die zijn opgegeven door het voorwoord WS_EX_voor de uitgebreide Stijl van Windows.
CProgressCtrl::GetBarColor
Hiermee haalt u de kleur van de voortgangsindicatorbalk op voor het huidige besturingselement voor de voortgangsbalk.
COLORREF GetBarColor() const;
Retourwaarde
De kleur van de huidige voortgangsbalk, weergegeven als een COLORREF waarde of CLR_DEFAULT als de kleur van de voortgangsindicatorbalk de standaardkleur is.
Opmerkingen
Met deze methode wordt het PBM_GETBARCOLOR bericht verzonden, dat wordt beschreven in de Windows SDK.
CProgressCtrl::GetBkColor
Hiermee haalt u de achtergrondkleur van de huidige voortgangsbalk op.
COLORREF GetBkColor() const;
Retourwaarde
De achtergrondkleur van de huidige voortgangsbalk, weergegeven als een COLORREF waarde.
Opmerkingen
Met deze methode wordt het PBM_GETBKCOLOR bericht verzonden, dat wordt beschreven in de Windows SDK.
CProgressCtrl::GetPos
Haalt de huidige positie van de voortgangsbalk op.
int GetPos();
Retourwaarde
De positie van het besturingselement voor de voortgangsbalk.
Opmerkingen
De positie van het besturingselement voor de voortgangsbalk is niet de fysieke locatie op het scherm, maar bevindt zich liever tussen het bovenste en onderste bereik dat wordt aangegeven in SetRange.
Example
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
Hiermee haalt u de huidige onder- en bovengrenzen of het bereik van het besturingselement voor de voortgangsbalk op.
void GetRange(
int& nLower,
int& nUpper);
Parameterwaarden
nLower
Een verwijzing naar een geheel getal dat de ondergrens van het besturingselement voor de voortgangsbalk ontvangt.
nUpper
Een verwijzing naar een geheel getal dat de bovengrens van het besturingselement voor de voortgangsbalk ontvangt.
Opmerkingen
Met deze functie worden de waarden van de onder- en bovengrenzen gekopieerd naar respectievelijk de gehele getallen waarnaar nLower wordt verwezen.nUpper
Example
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
Hiermee haalt u de status van het huidige besturingselement voor de voortgangsbalk op.
int GetState() const;
Retourwaarde
De status van het huidige besturingselement voor de voortgangsbalk, een van de volgende waarden:
| Waarde | Staat |
|---|---|
| PBST_NORMAL | In uitvoering |
| PBST_ERROR | Fout |
| PBST_PAUSED | Onderbroken |
Opmerkingen
Met deze methode wordt het PBM_GETSTATE bericht verzonden, dat wordt beschreven in de Windows SDK.
Example
Het eerste codevoorbeeld definieert de variabele, m_progressCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het voortgangsbalkbeheer. Deze variabele wordt gebruikt in het volgende voorbeeld.
// Variable to access the progress control
CProgressCtrl m_progressCtrl;
In het volgende codevoorbeeld wordt de status van het huidige besturingselement voor de voortgangsbalk opgehaald.
// 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
Hiermee wordt de stapstap voor de voortgangsbalk van het huidige besturingselement voor de voortgangsbalk opgehaald.
int GetStep() const;
Retourwaarde
De stap voor het verhogen van de voortgangsbalk.
Opmerkingen
De stapstap is het bedrag waarmee een aanroep de CProgressCtrl::StepIt huidige positie van de voortgangsbalk verhoogt.
Met deze methode wordt het PBM_GETSTEP bericht verzonden, dat wordt beschreven in de Windows SDK.
Example
Het eerste codevoorbeeld definieert de variabele, m_progressCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het voortgangsbalkbeheer. Deze variabele wordt gebruikt in het volgende voorbeeld.
// Variable to access the progress control
CProgressCtrl m_progressCtrl;
In het volgende codevoorbeeld wordt de stapverhoging van het huidige voortgangsbalkbeheer opgehaald.
// 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
Hiermee wordt de huidige positie van het besturingselement voor de voortgangsbalk verhoogd door de toename die is opgegeven door nPos en wordt de balk opnieuw getekend om de nieuwe positie weer te geven.
int OffsetPos(int nPos);
Parameterwaarden
nPos
Bedrag om de positie te vooruit te gaan.
Retourwaarde
De vorige positie van het besturingselement voortgangsbalk.
Example
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
Hiermee stelt u de kleur van de voortgangsindicatorbalk in het huidige besturingselement voor de voortgangsbalk in.
COLORREF SetBarColor(COLORREF clrBar);
Parameterwaarden
clrBar
[in] Een COLORREF waarde die de nieuwe kleur van de voortgangsindicatorbalk aangeeft. Geef CLR_DEFAULT op dat de voortgangsbalk de standaardkleur moet gebruiken.
Retourwaarde
De vorige kleur van de voortgangsindicatorbalk, weergegeven als een COLORREF waarde of CLR_DEFAULT als de kleur van de voortgangsindicatorbalk de standaardkleur is.
Opmerkingen
Met SetBarColor de methode wordt de kleur van de voortgangsbalk alleen ingesteld als een Windows Vista-thema niet van kracht is.
Met deze methode wordt het PBM_SETBARCOLOR bericht verzonden, dat wordt beschreven in de Windows SDK.
Example
Het eerste codevoorbeeld definieert de variabele, m_progressCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het voortgangsbalkbeheer. Deze variabele wordt gebruikt in het volgende voorbeeld.
// Variable to access the progress control
CProgressCtrl m_progressCtrl;
In het volgende codevoorbeeld wordt de kleur van de voortgangsbalk gewijzigd in rood, groen, blauw of de standaardwaarde.
// 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
Hiermee stelt u de achtergrondkleur voor de voortgangsbalk in.
COLORREF SetBkColor(COLORREF clrNew);
Parameterwaarden
clrNew
Een COLORREF waarde die de nieuwe achtergrondkleur aangeeft. Geef de CLR_DEFAULT waarde op voor het gebruik van de standaardachtergrondkleur voor de voortgangsbalk.
Retourwaarde
De COLORREF waarde die de vorige achtergrondkleur aangeeft of CLR_DEFAULT als de achtergrondkleur de standaardkleur is.
Example
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
Hiermee schakelt u de selectiemodus in of uit voor het huidige besturingselement voor de voortgangsbalk.
BOOL SetMarquee(
BOOL fMarqueeMode,
int nInterval);
Parameterwaarden
fMarqueeMode
[in] TRUE om de schakelmodus voor het selectiekader in te schakelen of FALSE om de selectiemodus uit te schakelen.
nInterval
[in] Tijd in milliseconden tussen updates van de selectiekaderanimatie.
Retourwaarde
Deze methode retourneert TRUEaltijd .
Opmerkingen
Wanneer de modus Voor de selectie is ingeschakeld, wordt de voortgangsbalk geanimeerd en schuift deze als een teken in een theater marquee.
Met deze methode wordt het PBM_SETMARQUEE bericht verzonden, dat wordt beschreven in de Windows SDK.
Example
Het eerste codevoorbeeld definieert de variabele, m_progressCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het voortgangsbalkbeheer. Deze variabele wordt gebruikt in het volgende voorbeeld.
// Variable to access the progress control
CProgressCtrl m_progressCtrl;
Het volgende codevoorbeeld wordt gestart en stopt de animatie voor het schuiven van een selectiekader.
// 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
Hiermee stelt u de huidige positie van het voortgangsbalkbeheer in zoals opgegeven door nPos en wordt de balk opnieuw getekend om de nieuwe positie weer te geven.
int SetPos(int nPos);
Parameterwaarden
nPos
Nieuwe positie van het besturingselement voor de voortgangsbalk.
Retourwaarde
De vorige positie van het besturingselement voortgangsbalk.
Opmerkingen
De positie van het besturingselement voor de voortgangsbalk is niet de fysieke locatie op het scherm, maar bevindt zich liever tussen het bovenste en onderste bereik dat wordt aangegeven in SetRange.
Example
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
Hiermee stelt u de boven- en ondergrenzen van het bereik van het besturingselement voor de voortgangsbalk in en tekent u de balk opnieuw om de nieuwe bereiken weer te geven.
void SetRange(
short nLower,
short nUpper);
void SetRange32(
int nLower,
int nUpper);
Parameterwaarden
nLower
Hiermee geeft u de ondergrens van het bereik (standaard is nul).
nUpper
Hiermee geeft u de bovengrens van het bereik (standaard is 100).
Opmerkingen
De lidfunctie SetRange32 stelt het 32-bits bereik voor het voortgangsbeheer in.
Example
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
Hiermee stelt u de status van het huidige besturingselement voor de voortgangsbalk in.
int SetState(int iState);
Parameterwaarden
iState
[in] De status voor het instellen van de voortgangsbalk. Gebruik een van de volgende waarden:
-
PBST_NORMAL- Wordt uitgevoerd -
PBST_ERROR-Fout -
PBST_PAUSED-Onderbroken
Retourwaarde
De vorige status van het huidige besturingselement voor de voortgangsbalk.
Opmerkingen
Met deze methode wordt het PBM_SETSTATE bericht verzonden, dat wordt beschreven in de Windows SDK.
Example
Het eerste codevoorbeeld definieert de variabele, m_progressCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het voortgangsbalkbeheer. Deze variabele wordt gebruikt in het volgende voorbeeld.
// Variable to access the progress control
CProgressCtrl m_progressCtrl;
In het volgende codevoorbeeld wordt de status van het huidige besturingselement voor de voortgangsbalk ingesteld op Onderbroken of Wordt uitgevoerd.
// 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
Hiermee geeft u de stap increment voor een voortgangsbalk besturingselement.
int SetStep(int nStep);
Parameterwaarden
nStep
Nieuwe stap incrementeel.
Retourwaarde
De vorige stap incrementeel.
Opmerkingen
De stapstap is het bedrag waarmee een aanroep om de huidige positie van de voortgangsbalk te CProgressCtrl::StepIt verhogen.
De standaardstapstap is 10.
Example
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
Hiermee wordt de huidige positie voor een voortgangsbalk door de stapstap verhoogd en wordt de balk opnieuw getekend om de nieuwe positie weer te geven.
int StepIt();
Retourwaarde
De vorige positie van het besturingselement voortgangsbalk.
Opmerkingen
De stapstap wordt ingesteld door de CProgressCtrl::SetStep lidfunctie.
Example
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();