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 een Windows-besturingselement met schuifbalk.
Syntaxis
class CScrollBar : public CWnd
Leden
Openbare constructors
| Naam | Description |
|---|---|
CScrollBar::CScrollBar |
Maakt een CScrollBar object. |
Openbare methoden
| Naam | Description |
|---|---|
CScrollBar::Create |
Hiermee maakt u de Windows-schuifbalk en koppelt u deze aan het CScrollBar object. |
CScrollBar::EnableScrollBar |
Hiermee schakelt u een of beide pijlen van een schuifbalk in of uit. |
CScrollBar::GetScrollBarInfo |
Hiermee haalt u informatie over de schuifbalk op met behulp van een SCROLLBARINFO structuur. |
CScrollBar::GetScrollInfo |
Haalt informatie over de schuifbalk op. |
CScrollBar::GetScrollLimit |
Haalt de limiet van de schuifbalk op |
CScrollBar::GetScrollPos |
Hiermee haalt u de huidige positie van een schuifvak op. |
CScrollBar::GetScrollRange |
Haalt de huidige minimale en maximale schuifbalkposities voor de opgegeven schuifbalk op. |
CScrollBar::SetScrollInfo |
Hiermee stelt u informatie in over de schuifbalk. |
CScrollBar::SetScrollPos |
Hiermee stelt u de huidige positie van een schuifvak in. |
CScrollBar::SetScrollRange |
Hiermee stelt u de minimum- en maximumpositiewaarden voor de opgegeven schuifbalk in. |
CScrollBar::ShowScrollBar |
Hiermee wordt een schuifbalk weergegeven of verborgen. |
Opmerkingen
U maakt in twee stappen een besturingselement voor een schuifbalk. Roep eerst de constructor CScrollBar aan om het CScrollBar object samen te stellen, roep vervolgens de Create lidfunctie aan om het besturingselement van de Schuifbalk van Windows te maken en deze aan het CScrollBar object te koppelen.
Als u een CScrollBar object in een dialoogvenster maakt (via een dialoogvensterresource), wordt het CScrollBar automatisch vernietigd wanneer de gebruiker het dialoogvenster sluit.
Als u een CScrollBar object in een venster maakt, moet u het mogelijk ook vernietigen.
Als u het CScrollBar object op de stapel maakt, wordt het automatisch vernietigd. Als u het CScrollBar object op de heap maakt met behulp van de new functie, moet u het object aanroepen delete om het te vernietigen wanneer de gebruiker de Windows-schuifbalk beëindigt.
Als u geheugen in het CScrollBar object toewijst, overschrijft u destructor CScrollBar om de toewijzingen te verwijderen.
Zie Besturingselementen voor verwante informatie over het gebruikCScrollBar.
Overnamehiërarchie
CScrollBar
Requirements
Rubriek:afxwin.h
CScrollBar::Create
Hiermee maakt u de Windows-schuifbalk en koppelt u deze aan het CScrollBar object.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwStyle
Hiermee geeft u de stijl van de schuifbalk op. Pas een combinatie van schuifbalkstijlen toe op de schuifbalk.
rect
Hiermee geeft u de grootte en positie van de schuifbalk op. Dit kan een RECT structuur of een CRect object zijn.
pParentWnd
Hiermee geeft u het bovenliggende venster van de schuifbalk, meestal een CDialog object. Het mag niet zijn NULL.
nID
De besturings-id van de schuifbalk.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
U maakt een CScrollBar object in twee stappen. Roep eerst de constructor aan, waarmee het CScrollBar object wordt samengesteld; vervolgens aanroept Create, waarmee de bijbehorende Windows-schuifbalk wordt gemaakt en geïnitialiseerd en gekoppeld aan het CScrollBar object.
Pas de volgende vensterstijlen toe op een schuifbalk:
WS_CHILDAltijdWS_VISIBLEGewoonlijkWS_DISABLEDZeldenWS_GROUPBesturingselementen groeperen
Example
// Example 1:
// Create a horizontal CScrollBar control as a child window of CMyDialog
// class (a CDialog-derived class). The scroll bar is NOT visible until the
// call ShowScrollBar() is made. m_ScrollBarHorz is of type CScrollBar class,
// and it is a member variable in CMyDialog class.
VERIFY(m_ScrollBarHorz.Create(SBS_HORZ | SBS_TOPALIGN | WS_CHILD,
CRect(5, 5, 100, 30), this, IDC_SCROLLBARCTRL));
m_ScrollBarHorz.ShowScrollBar();
// Example 2:
// Create a vertical CScrollBar control as a child window of CMyDialog
// class (a CDialog-derived class). m_ScrollBarVert is of type CScrollBar
// class, and it is a member variable in CMyDialog class.
VERIFY(m_ScrollBarVert.Create(SBS_VERT | SBS_LEFTALIGN | WS_CHILD |
WS_VISIBLE,
CRect(5, 30, 30, 130), this, IDC_SCROLLBARCTRL));
CScrollBar::CScrollBar
Maakt een CScrollBar object.
CScrollBar();
Opmerkingen
Nadat u het object hebt gemaakt, roept u de Create lidfunctie aan om de Schuifbalk van Windows te maken en te initialiseren.
Example
CScrollBar m_ScrollBarHorz;
CScrollBar::EnableScrollBar
Hiermee schakelt u een of beide pijlen van een schuifbalk in of uit.
BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);
Parameterwaarden
nArrowFlags
Hiermee geeft u op of de schuifpijlen zijn ingeschakeld of uitgeschakeld en welke pijlen zijn ingeschakeld of uitgeschakeld. Deze parameter kan een van de volgende waarden zijn:
ESB_ENABLE_BOTHHiermee schakelt u beide pijlen van een schuifbalk in.ESB_DISABLE_LTUPHiermee schakelt u de pijl-links van een horizontale schuifbalk of de pijl-omhoog van een verticale schuifbalk uit.ESB_DISABLE_RTDNHiermee schakelt u de pijl-rechts van een horizontale schuifbalk of de pijl-omlaag van een verticale schuifbalk uit.ESB_DISABLE_BOTHHiermee schakelt u beide pijlen van een schuifbalk uit.
Retourwaarde
Niet-nul als de pijlen zijn ingeschakeld of uitgeschakeld zoals opgegeven; anders 0, wat aangeeft dat de pijlen zich al in de aangevraagde status bevinden of dat er een fout is opgetreden.
Example
Zie het voorbeeld voor CScrollBar::SetScrollRange.
CScrollBar::GetScrollBarInfo
Haalt de informatie op die de SCROLLBARINFO structuur over een schuifbalk onderhoudt.
BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;
Parameterwaarden
pScrollInfo
Een aanwijzer naar de SCROLLBARINFO structuur.
Retourwaarde
TRUE Geeft als resultaat het succes, FALSE bij fouten.
Opmerkingen
Met deze lidfunctie wordt de functionaliteit van het SBM_SCROLLBARINFO bericht geëmuleren, zoals beschreven in de Windows SDK.
CScrollBar::GetScrollInfo
Haalt de informatie op die de SCROLLINFO structuur over een schuifbalk onderhoudt.
BOOL GetScrollInfo(
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parameterwaarden
lpScrollInfo
Een aanwijzer naar een SCROLLINFO structuur. Zie de Windows SDK voor meer informatie over deze structuur.
nMask
Hiermee geeft u de schuifbalkparameters op die moeten worden opgehaald. Typisch gebruik, SIF_ALLgeeft een combinatie van SIF_PAGE, SIF_POS, SIF_TRACKPOSen .SIF_RANGE Zie SCROLLINFO voor meer informatie over de nMask waarden.
Retourwaarde
Als het bericht waarden heeft opgehaald, is TRUEhet resultaat. Anders is het FALSE.
Opmerkingen
GetScrollInfo stelt toepassingen in staat om 32-bits schuifposities te gebruiken.
De SCROLLINFO structuur bevat informatie over een schuifbalk, inclusief de minimale en maximale schuifposities, het paginaformaat en de positie van het schuifvak (de duim). Zie het SCROLLINFO structuuronderwerp in de Windows SDK voor meer informatie over het wijzigen van de standaardinstellingen voor de structuur.
De MFC Windows-berichthandlers die de positie van de schuifbalk aangeven, CWnd::OnHScrollen CWnd::OnVScrolldie slechts 16 bits aan positiegegevens leveren.
GetScrollInfo en SetScrollInfo geef 32 bits aan schuifbalkpositiegegevens op. Een toepassing kan dus aanroepen GetScrollInfo tijdens de verwerking CWnd::OnHScroll of CWnd::OnVScroll om gegevens van de 32-bits schuifbalkpositie te verkrijgen.
Example
Zie het voorbeeld voor CWnd::OnHScroll.
CScrollBar::GetScrollLimit
Hiermee haalt u de maximale schuifpositie van de schuifbalk op.
int GetScrollLimit();
Retourwaarde
Hiermee geeft u de maximale positie van een schuifbalk indien geslaagd; anders 0.
Example
Zie het voorbeeld voor CWnd::OnHScroll.
CScrollBar::GetScrollPos
Hiermee haalt u de huidige positie van een schuifvak op.
int GetScrollPos() const;
Retourwaarde
Hiermee geeft u de huidige positie van het schuifvak indien geslaagd; anders 0.
Opmerkingen
De huidige positie is een relatieve waarde die afhankelijk is van het huidige schuifbereik. Als het schuifbereik bijvoorbeeld 100 tot 200 is en het schuifvak zich midden in de balk bevindt, is de huidige positie 150.
Example
Zie het voorbeeld voor CWnd::OnHScroll.
CScrollBar::GetScrollRange
Hiermee kopieert u de huidige minimale en maximale schuifbalkposities voor de opgegeven schuifbalk naar de locaties die zijn opgegeven door lpMinPos en lpMaxPos.
void GetScrollRange(
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parameterwaarden
lpMinPos
Verwijst naar de variabele geheel getal die de minimale positie moet ontvangen.
lpMaxPos
Verwijst naar de variabele geheel getal dat de maximale positie ontvangt.
Opmerkingen
Het standaardbereik voor een schuifbalkbesturingselement is leeg (beide waarden zijn 0).
Example
Zie het voorbeeld voor CWnd::OnHScroll.
CScrollBar::SetScrollInfo
Hiermee stelt u de informatie in die de SCROLLINFO structuur over een schuifbalk onderhoudt.
BOOL SetScrollInfo(
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parameterwaarden
lpScrollInfo
Een aanwijzer naar een SCROLLINFO structuur.
bRedraw
Hiermee geeft u op of de schuifbalk opnieuw moet worden getekend om de nieuwe informatie weer te geven. Als bRedraw dat het is TRUE, wordt de schuifbalk opnieuw getekend. Als dat zo is FALSE, wordt het niet opnieuw getekend. De schuifbalk wordt standaard opnieuw getekend.
Retourwaarde
Als het resultaat is geslaagd, is TRUEhet resultaat. Anders is het FALSE.
Opmerkingen
U moet de waarden opgeven die vereist zijn voor de SCROLLINFO structuurparameters, inclusief de vlagwaarden.
De SCROLLINFO structuur bevat informatie over een schuifbalk, inclusief de minimale en maximale schuifposities, het paginaformaat en de positie van het schuifvak (de duim). Zie het SCROLLINFO structuuronderwerp in de Windows SDK voor meer informatie over het wijzigen van de standaardinstellingen voor de structuur.
Example
// Set SCROLLINFO for the scroll bar. m_ScrollBarHorz is of type
// CScrollBar class, and it is a member variable in CMyDialog class.
SCROLLINFO info;
info.cbSize = sizeof(SCROLLINFO);
info.fMask = SIF_ALL;
info.nMin = 0;
info.nMax = 10;
info.nPage = 2;
info.nPos = 5;
info.nTrackPos = 2;
m_ScrollBarHorz.SetScrollInfo(&info);
CScrollBar::SetScrollPos
Hiermee stelt u de huidige positie van een schuifvak in op de positie die is opgegeven door nPos en, indien opgegeven, wordt de schuifbalk opnieuw getekend om de nieuwe positie weer te geven.
int SetScrollPos(
int nPos,
BOOL bRedraw = TRUE);
Parameterwaarden
nPos
Hiermee geeft u de nieuwe positie voor het schuifvak. Deze moet binnen het schuifbereik vallen.
bRedraw
Hiermee geeft u op of de schuifbalk opnieuw moet worden getekend om de nieuwe positie weer te geven. Als bRedraw dat het is TRUE, wordt de schuifbalk opnieuw getekend. Als dat zo is FALSE, wordt het niet opnieuw getekend. De schuifbalk wordt standaard opnieuw getekend.
Retourwaarde
Hiermee geeft u de vorige positie van het schuifvak indien geslaagd; anders 0.
Opmerkingen
Ingesteld bRedraw op FALSE wanneer de schuifbalk opnieuw wordt getekend door een volgende aanroep naar een andere functie om te voorkomen dat de schuifbalk tweemaal binnen een kort interval opnieuw wordt getekend.
Example
Zie het voorbeeld voor CScrollBar::SetScrollRange.
CScrollBar::SetScrollRange
Hiermee stelt u de minimum- en maximumpositiewaarden voor de opgegeven schuifbalk in.
void SetScrollRange(
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parameterwaarden
nMinPos
Hiermee geeft u de minimale schuifpositie.
nMaxPos
Hiermee geeft u de maximale schuifpositie.
bRedraw
Hiermee geeft u op of de schuifbalk opnieuw moet worden getekend om de wijziging weer te geven. Als dat het isTRUE, wordt de schuifbalk opnieuw getekend. Als bRedrawFALSE, wordt deze niet opnieuw getekend. Deze wordt standaard opnieuw getekend.
Opmerkingen
Stel nMinPos en nMaxPos op 0 in om standaard schuifbalken te verbergen.
Roep deze functie niet aan om een schuifbalk te verbergen tijdens het verwerken van een meldingsbericht op de schuifbalk.
Als een aanroep onmiddellijk SetScrollRange volgt op een aanroep naar de SetScrollPos lidfunctie, stelt u bRedraw in SetScrollPos op 0 om te voorkomen dat de schuifbalk tweemaal opnieuw wordt getekend.
Het verschil tussen de waarden die zijn opgegeven door nMinPos en nMaxPos mag niet groter zijn dan 32.767. Het standaardbereik voor een schuifbalkbesturingselement is leeg (beide nMinPos en nMaxPos zijn 0).
Example
// Sets minimum (0) and maximum (10) position values for the
// CScrollBar control. m_ScrollBarVert is of type CScrollBar class,
// and it is a member variable in CMyDialog class.
m_ScrollBarVert.SetScrollRange(0, 10);
// Set the position of the scroll box.
m_ScrollBarVert.SetScrollPos(5);
// Disable the down arrow of the scroll bar. By default, both arrows
// are enabled.
m_ScrollBarVert.EnableScrollBar(ESB_DISABLE_DOWN);
CScrollBar::ShowScrollBar
Hiermee wordt een schuifbalk weergegeven of verborgen.
void ShowScrollBar(BOOL bShow = TRUE);
Parameterwaarden
bShow
Hiermee geeft u op of de schuifbalk wordt weergegeven of verborgen. Als deze parameter is TRUE, wordt de schuifbalk weergegeven. Anders is deze verborgen.
Opmerkingen
Een toepassing mag deze functie niet aanroepen om een schuifbalk te verbergen tijdens het verwerken van een meldingsbericht op de schuifbalk.
Example
Zie het voorbeeld voor CScrollBar::Create.
Zie ook
CWnd klasse
Hiërarchiegrafiek
CButton klasse
CComboBox klasse
CEdit klasse
CListBox klasse
CStatic klasse
CDialog klasse