Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe
Fournit les fonctionnalités d'un contrôle de barre de défilement Windows.
Syntaxe
class CScrollBar : public CWnd
Membres
Constructeurs publics
| Nom | Description |
|---|---|
CScrollBar::CScrollBar |
Construit un objet CScrollBar. |
Méthodes publiques
| Nom | Description |
|---|---|
CScrollBar::Create |
Crée la barre de défilement Windows et l’attache à l’objet CScrollBar . |
CScrollBar::EnableScrollBar |
Active ou désactive une flèche (ou les deux) d'une barre de défilement. |
CScrollBar::GetScrollBarInfo |
Récupère des informations sur la barre de défilement à l’aide d’une SCROLLBARINFO structure. |
CScrollBar::GetScrollInfo |
Récupère des informations sur la barre de défilement. |
CScrollBar::GetScrollLimit |
Récupère la limite de la barre de défilement |
CScrollBar::GetScrollPos |
Récupère la position actuelle d'une case de défilement. |
CScrollBar::GetScrollRange |
Récupère les positions minimales et maximales actuelles de barre de défilement pour la barre de défilement donnée. |
CScrollBar::SetScrollInfo |
Définit les informations sur la barre de défilement. |
CScrollBar::SetScrollPos |
Définit la position actuelle d’une zone de défilement. |
CScrollBar::SetScrollRange |
Définit les valeurs de position minimale et maximale de la barre de défilement donnée. |
CScrollBar::ShowScrollBar |
Affiche ou masque une barre de défilement. |
Notes
Vous créez un contrôle de barre de défilement en deux étapes. Tout d’abord, appelez le constructeur CScrollBar pour construire l’objet CScrollBar , puis appelez la Create fonction membre pour créer le contrôle de barre de défilement Windows et l’attacher à l’objet CScrollBar .
Si vous créez un CScrollBar objet dans une boîte de dialogue (via une ressource de boîte de dialogue), il CScrollBar est automatiquement détruit lorsque l’utilisateur ferme la boîte de dialogue.
Si vous créez un CScrollBar objet dans une fenêtre, vous devrez peut-être également le détruire.
Si vous créez l’objet CScrollBar sur la pile, il est détruit automatiquement. Si vous créez l’objet CScrollBar sur le tas à l’aide de la new fonction, vous devez appeler delete l’objet pour le détruire lorsque l’utilisateur termine la barre de défilement Windows.
Si vous allouez une mémoire dans l’objet CScrollBar , remplacez le CScrollBar destructeur pour supprimer les allocations.
Pour plus d’informations sur l’utilisation CScrollBar, consultez Contrôles.
Hiérarchie d'héritage
CScrollBar
Spécifications
En-tête : afxwin.h
CScrollBar::Create
Crée la barre de défilement Windows et l’attache à l’objet CScrollBar .
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paramètres
dwStyle
Spécifie le style de la barre de défilement. Appliquez n’importe quelle combinaison de styles de barre de défilement à la barre de défilement.
rect
Spécifie la taille et la position de la barre de défilement. Peut être une RECT structure ou un CRect objet.
pParentWnd
Spécifie la fenêtre parente de la barre de défilement, généralement un CDialog objet. Il ne doit pas être NULL.
nID
ID de contrôle de la barre de défilement.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Vous construisez un CScrollBar objet en deux étapes. Tout d’abord, appelez le constructeur, qui construit l’objet CScrollBar , puis appelez Create, qui crée et initialise la barre de défilement Windows associée et l’attache à l’objet CScrollBar .
Appliquez les styles de fenêtre suivants à une barre de défilement :
WS_CHILDToujoursWS_VISIBLEHabituellementWS_DISABLEDRarementWS_GROUPPour regrouper les contrôles
Exemple
// 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
Construit un objet CScrollBar.
CScrollBar();
Notes
Après avoir construit l’objet, appelez la Create fonction membre pour créer et initialiser la barre de défilement Windows.
Exemple
CScrollBar m_ScrollBarHorz;
CScrollBar::EnableScrollBar
Active ou désactive une flèche (ou les deux) d'une barre de défilement.
BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);
Paramètres
nArrowFlags
Spécifie si les flèches de défilement sont activées ou désactivées et quelles flèches sont activées ou désactivées. Ce paramètre peut avoir l'une des valeurs suivantes :
ESB_ENABLE_BOTHActive les deux flèches d’une barre de défilement.ESB_DISABLE_LTUPDésactive la flèche gauche d’une barre de défilement horizontale ou la flèche vers le haut d’une barre de défilement verticale.ESB_DISABLE_RTDNDésactive la flèche droite d’une barre de défilement horizontale ou de la flèche vers le bas d’une barre de défilement verticale.ESB_DISABLE_BOTHDésactive les deux flèches d’une barre de défilement.
Valeur de retour
Différent de zéro si les flèches sont activées ou désactivées comme spécifié ; sinon, 0, qui indique que les flèches sont déjà dans l’état demandé ou qu’une erreur s’est produite.
Exemple
Consultez l’exemple pour CScrollBar::SetScrollRange.
CScrollBar::GetScrollBarInfo
Récupère les informations que la structure SCROLLBARINFO conserve à propos d'une barre de défilement.
BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;
Paramètres
pScrollInfo
Pointeur vers la SCROLLBARINFO structure.
Valeur de retour
Retourne TRUE en cas de réussite, FALSE en cas d’échec.
Notes
Cette fonction membre émule les fonctionnalités du SBM_SCROLLBARINFO message, comme décrit dans le Kit de développement logiciel (SDK) Windows.
CScrollBar::GetScrollInfo
Récupère les informations que la structure SCROLLINFO conserve à propos d'une barre de défilement.
BOOL GetScrollInfo(
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Paramètres
lpScrollInfo
Pointeur vers une SCROLLINFO structure. Pour plus d’informations sur cette structure, consultez le Kit de développement logiciel (SDK) Windows.
nMask
Spécifie les paramètres de barre de défilement à récupérer. Utilisation classique, spécifie SIF_ALLune combinaison de SIF_PAGE, SIF_POS, SIF_TRACKPOSet SIF_RANGE. Pour plus d’informations sur les valeurs, consultez SCROLLINFO cette nMask rubrique.
Valeur de retour
Si le message a récupéré des valeurs, le retour est TRUE. Dans le cas contraire, il prend la valeur FALSE.
Notes
GetScrollInfo permet aux applications d’utiliser des positions de défilement 32 bits.
La SCROLLINFO structure contient des informations sur une barre de défilement, y compris les positions minimales et maximales de défilement, la taille de la page et la position de la zone de défilement (le pouce). Pour plus d’informations sur la modification des valeurs par défaut de la structure, consultez la SCROLLINFO rubrique structure dans le Kit de développement logiciel (SDK) Windows.
Les gestionnaires de messages Windows MFC qui indiquent la position de la barre de défilement, CWnd::OnHScrollet CWnd::OnVScrollfournissent uniquement 16 bits de données de position. GetScrollInfo et SetScrollInfo fournissez 32 bits de données de position de barre de défilement. Par conséquent, une application peut appeler GetScrollInfo lors du traitement CWnd::OnHScroll ou CWnd::OnVScroll obtenir des données de position de barre de défilement 32 bits.
Exemple
Consultez l’exemple pour CWnd::OnHScroll.
CScrollBar::GetScrollLimit
Récupère la position de défilement maximale de la barre de défilement.
int GetScrollLimit();
Valeur de retour
Spécifie la position maximale d’une barre de défilement si elle réussit ; sinon 0.
Exemple
Consultez l’exemple pour CWnd::OnHScroll.
CScrollBar::GetScrollPos
Récupère la position actuelle d'une case de défilement.
int GetScrollPos() const;
Valeur de retour
Spécifie la position actuelle de la zone de défilement en cas de réussite ; sinon 0.
Notes
La position actuelle est une valeur relative qui dépend de la plage de défilement actuelle. Par exemple, si la plage de défilement est de 100 à 200 et que la zone de défilement se trouve au milieu de la barre, la position actuelle est 150.
Exemple
Consultez l’exemple pour CWnd::OnHScroll.
CScrollBar::GetScrollRange
Copie les positions minimales et maximales actuelles de barre de défilement pour la barre de défilement donnée aux emplacements spécifiés par lpMinPos et lpMaxPos.
void GetScrollRange(
LPINT lpMinPos,
LPINT lpMaxPos) const;
Paramètres
lpMinPos
Pointe vers la variable entière qui doit recevoir la position minimale.
lpMaxPos
Pointe vers la variable entière qui doit recevoir la position maximale.
Notes
La plage par défaut d’un contrôle de barre de défilement est vide (les deux valeurs sont 0).
Exemple
Consultez l’exemple pour CWnd::OnHScroll.
CScrollBar::SetScrollInfo
Définit les informations que la SCROLLINFO structure gère à propos d’une barre de défilement.
BOOL SetScrollInfo(
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Paramètres
lpScrollInfo
Pointeur vers une SCROLLINFO structure.
bRedraw
Spécifie si la barre de défilement doit être redessinée pour refléter les nouvelles informations. Si bRedraw c’est TRUEle cas, la barre de défilement est redessinée. Si c’est FALSEle cas, il n’est pas redessiné. La barre de défilement est redessinée par défaut.
Valeur de retour
En cas de réussite, le retour est TRUE. Dans le cas contraire, il prend la valeur FALSE.
Notes
Vous devez fournir les valeurs requises par les paramètres de SCROLLINFO structure, y compris les valeurs d’indicateur.
La SCROLLINFO structure contient des informations sur une barre de défilement, y compris les positions minimales et maximales de défilement, la taille de la page et la position de la zone de défilement (le pouce). Pour plus d’informations sur la modification des valeurs par défaut de la structure, consultez la SCROLLINFO rubrique structure dans le Kit de développement logiciel (SDK) Windows.
Exemple
// 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
Définit la position actuelle d’une zone de défilement à celle spécifiée par nPos et, si elle est spécifiée, redessine la barre de défilement pour refléter la nouvelle position.
int SetScrollPos(
int nPos,
BOOL bRedraw = TRUE);
Paramètres
nPos
Spécifie la nouvelle position de la zone de défilement. Elle doit se trouver dans la plage de défilement.
bRedraw
Spécifie si la barre de défilement doit être redessinée pour refléter la nouvelle position. Si bRedraw c’est TRUEle cas, la barre de défilement est redessinée. Si c’est FALSEle cas, il n’est pas redessiné. La barre de défilement est redessinée par défaut.
Valeur de retour
Spécifie la position précédente de la zone de défilement en cas de réussite ; sinon 0.
Notes
Définissez bRedraw la valeur à FALSE chaque fois que la barre de défilement sera redessinée par un appel ultérieur à une autre fonction pour éviter que la barre de défilement soit redessinée deux fois dans un intervalle court.
Exemple
Consultez l’exemple de CScrollBar ::SetScrollRange.
CScrollBar::SetScrollRange
Définit les valeurs de position minimale et maximale de la barre de défilement donnée.
void SetScrollRange(
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Paramètres
nMinPos
Spécifie la position minimale de défilement.
nMaxPos
Spécifie la position de défilement maximale.
bRedraw
Spécifie si la barre de défilement doit être redessinée pour refléter la modification. Si bRedraw c’est TRUEle cas, la barre de défilement est redessinée ; si FALSE, elle n’est pas redessinée. Il est redessiné par défaut.
Notes
Définissez nMinPos et nMaxPos 0 pour masquer les barres de défilement standard.
N’appelez pas cette fonction pour masquer une barre de défilement lors du traitement d’un message de notification de barre de défilement.
Si un appel à la SetScrollRange fonction membre suit immédiatement un appel à la SetScrollPos fonction membre, définissez-le bRedraw sur SetScrollPos 0 pour empêcher le redéployage de la barre de défilement deux fois.
La différence entre les valeurs spécifiées par nMinPos et nMaxPos ne doit pas être supérieure à 32 767. La plage par défaut d’un contrôle de barre de défilement est vide (les deux nMinPos et nMaxPos 0).
Exemple
// 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
Affiche ou masque une barre de défilement.
void ShowScrollBar(BOOL bShow = TRUE);
Paramètres
bShow
Spécifie si la barre de défilement est affichée ou masquée. Si ce paramètre est TRUE, la barre de défilement est affichée ; sinon, elle est masquée.
Notes
Une application ne doit pas appeler cette fonction pour masquer une barre de défilement lors du traitement d’un message de notification de barre de défilement.
Exemple
Consultez l’exemple pour CScrollBar::Create.
Voir aussi
CWnd Classe
Graphique hiérarchique
CButton Classe
CComboBox Classe
CEdit Classe
CListBox Classe
CStatic Classe
CDialog Classe