Partager via


CPagerCtrl, classe

La classe CPagerCtrl inclut dans un wrapper le contrôle pager Windows, qui peut afficher une fenêtre contenue qui ne tient pas dans la fenêtre conteneur.

Syntaxe

class CPagerCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CPagerCtrl ::CPagerCtrl Construit un objet CPagerCtrl.

Méthodes publiques

Nom Description
CPagerCtrl ::Create Crée un contrôle de pagineur avec des styles spécifiés et l’attache à l’objet actuel CPagerCtrl .
CPagerCtrl ::CreateEx Crée un contrôle de pagineur avec des styles étendus spécifiés et l’attache à l’objet actuel CPagerCtrl .
CPagerCtrl ::ForwardMouse Active ou désactive le transfert WM_MOUSEMOVE messages vers la fenêtre contenue dans le contrôle de pagineur actif.
CPagerCtrl ::GetBkColor Récupère la couleur d’arrière-plan du contrôle de pagineur actif.
CPagerCtrl ::GetBorder Récupère la taille de bordure du contrôle de pagineur actif.
CPagerCtrl ::GetButtonSize Récupère la taille du bouton du contrôle de pagineur actif.
CPagerCtrl ::GetButtonState Récupère l’état du bouton spécifié dans le contrôle du pagineur actif.
CPagerCtrl ::GetDropTarget Récupère l’interface IDropTarget pour le contrôle de pagineur actuel.
CPagerCtrl ::GetScrollPos Récupère la position de défilement du contrôle de pagineur actif.
CPagerCtrl ::IsButtonDepressed Indique si le bouton spécifié du contrôle de pagineur actif est en pressed état.
CPagerCtrl ::IsButtonGrayed Indique si le bouton spécifié du contrôle de pagineur actif est en grayed état.
CPagerCtrl ::IsButtonHot Indique si le bouton spécifié du contrôle de pagineur actif est en hot état.
CPagerCtrl ::IsButtonInvisible Indique si le bouton spécifié du contrôle de pagineur actif est en invisible état.
CPagerCtrl ::IsButtonNormal Indique si le bouton spécifié du contrôle de pagineur actif est en normal état.
CPagerCtrl ::RecalcSize Provoque le recalcul du contrôle du pagineur actuel pour recalculer la taille de la fenêtre autonome.
CPagerCtrl ::SetBkColor Définit la couleur d’arrière-plan du contrôle de pagineur actif.
CPagerCtrl ::SetBorder Définit la taille de bordure du contrôle de pagineur actif.
CPagerCtrl ::SetButtonSize Définit la taille du bouton du contrôle de pagineur actif.
CPagerCtrl ::SetChild Définit la fenêtre autonome du contrôle de pagineur actif.
CPagerCtrl ::SetScrollPos Définit la position de défilement du contrôle de pagineur actif.

Notes

Un contrôle de pagineur est une fenêtre qui contient une autre fenêtre linéaire et supérieure à la fenêtre contenante et vous permet de faire défiler la fenêtre autonome en mode affichage. Le contrôle pager affiche deux boutons de défilement qui disparaissent automatiquement lorsque la fenêtre autonome fait défiler jusqu’à sa plus grande étendue, et réapparaître autrement. Vous pouvez créer un contrôle de pagineur qui fait défiler horizontalement ou verticalement.

Par exemple, si votre application a une barre d’outils qui n’est pas suffisamment large pour afficher tous ses éléments, vous pouvez affecter la barre d’outils à un contrôle de pagineur et les utilisateurs pourront faire défiler la barre d’outils vers la gauche ou la droite pour accéder à tous les éléments. Microsoft Internet Explorer Version 4.0 (commctrl.dll version 4.71) introduit le contrôle de pagineur.

La CPagerCtrl classe est dérivée de la classe CWnd . Pour plus d’informations et une illustration d’un contrôle pager, consultez Contrôles Pager.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CPagerCtrl

Spécifications

En-tête : afxcmn.h

CPagerCtrl ::CPagerCtrl

Construit un objet CPagerCtrl.

CPagerCtrl();

Notes

Utilisez la méthode CPagerCtrl ::Create ou CPagerCtrl ::CreateEx pour créer un contrôle pager et l’attacher à l’objet CPagerCtrl .

CPagerCtrl ::Create

Crée un contrôle de pagineur avec des styles spécifiés et l’attache à l’objet actuel CPagerCtrl .

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

Paramètres

dwStyle
[in] Combinaison de bits (OR) de styles de fenêtre et de styles de contrôle de pagineur à appliquer au contrôle.

rect
[in] Référence à une structure RECT qui contient la position et la taille du contrôle dans les coordonnées du client.

pParentWnd
[in] Pointeur vers un objet CWnd qui est la fenêtre parente du contrôle. Ce paramètre ne peut pas être NULL.

nID
[in] ID du contrôle.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Pour créer un contrôle de pagineur, déclarez une CPagerCtrl variable, puis appelez la méthode CPagerCtrl ::Create ou CPagerCtrl ::CreateEx sur cette variable.

Exemple

L’exemple suivant crée un contrôle de pagineur, puis utilise la méthode CPagerCtrl ::SetChild pour associer un contrôle bouton très long au contrôle pager. L’exemple utilise ensuite la méthode CPagerCtrl ::SetButtonSize pour définir la hauteur du contrôle pager sur 20 pixels et la méthode CPagerCtrl ::SetBorder pour définir l’épaisseur de la bordure sur 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl ::CreateEx

Crée un contrôle de pagineur avec des styles étendus spécifiés et l’attache à l’objet actuel CPagerCtrl .

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

Paramètres

dwExStyle
[in] Combinaison de bits de styles étendus à appliquer au contrôle. Pour plus d’informations, consultez le paramètre dwExStyle de la fonction CreateWindowEx .

dwStyle
[in] Combinaison de bits (OR) de styles de fenêtre et de styles de contrôle de pagineur à appliquer au contrôle.

rect
[in] Référence à une structure RECT qui contient la position et la taille du contrôle dans les coordonnées du client.

pParentWnd
[in] Pointeur vers un objet CWnd qui est la fenêtre parente du contrôle. Ce paramètre ne peut pas être NULL.

nID
[in] ID du contrôle.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Pour créer un contrôle de pagineur, déclarez une CPagerCtrl variable, puis appelez la méthode CPagerCtrl ::Create ou CPagerCtrl ::CreateEx sur cette variable.

CPagerCtrl ::ForwardMouse

Active ou désactive le transfert WM_MOUSEMOVE messages vers la fenêtre contenue dans le contrôle de pagineur actif.

void ForwardMouse(BOOL bForward);

Paramètres

bForward
[in] TRUE pour transférer les messages de la souris ou FALSE pour ne pas transférer les messages de la souris.

Notes

Cette méthode envoie le message PGM_FORWARDMOUSE , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CPagerCtrl ::GetBorder

Récupère la taille de bordure du contrôle de pagineur actif.

int GetBorder() const;

Valeur de retour

Taille de bordure actuelle, mesurée en pixels.

Notes

Cette méthode envoie le message PGM_GETBORDER , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

L’exemple suivant utilise la méthode CPagerCtrl ::GetBorder pour récupérer l’épaisseur de la bordure du contrôle pager.

void CCSplitButton_s2Dlg::OnXBorder()
{
   int borderSize = m_pager.GetBorder();
   CString str;
   str.Format(_T("The border is %d pixel(s) thick."), borderSize);
   MessageBox(str);
}

CPagerCtrl ::GetBkColor

Récupère la couleur d’arrière-plan du contrôle de pagineur actif.

COLORREF GetBkColor() const;

Valeur de retour

Valeur COLORREF qui contient la couleur d’arrière-plan actuelle du contrôle pagineur.

Notes

Cette méthode envoie le message PGM_GETBKCOLOR , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

L’exemple suivant utilise la méthode CPagerCtrl ::SetBkColor pour définir la couleur d’arrière-plan du contrôle pager sur rouge et la méthode CPagerCtrl ::GetBkColor pour confirmer que la modification a été apportée.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl ::GetButtonSize

Récupère la taille du bouton du contrôle de pagineur actif.

int GetButtonSize() const;

Valeur de retour

Taille actuelle du bouton, mesurée en pixels.

Notes

Cette méthode envoie le message PGM_GETBUTTONSIZE , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Si le contrôle de pagineur a le style PGS_HORZ, la taille du bouton détermine la largeur des boutons du pagineur et si le contrôle de page a le style PGS_VERT, la taille du bouton détermine la hauteur des boutons du pagineur. Pour plus d’informations, consultez Styles de contrôle Pager.

CPagerCtrl ::GetButtonState

Récupère l’état du bouton de défilement spécifié dans le contrôle de pagineur actif.

DWORD GetButtonState(int iButton) const;

Paramètres

iButton
[in] Indique le bouton pour lequel l’état est récupéré. Si le style de contrôle du pagineur est PGS_HORZ, spécifiez PGB_TOPORLEFT pour le bouton gauche et PGB_BOTTOMORRIGHT pour le bouton droit. Si le style de contrôle du pagineur est PGS_VERT, spécifiez PGB_TOPORLEFT pour le bouton supérieur et PGB_BOTTOMORRIGHT pour le bouton inférieur. Pour plus d’informations, consultez Styles de contrôle Pager.

Valeur de retour

État du bouton spécifié par le paramètre iButton . L’état est PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED ou PGF_HOT. Pour plus d’informations, consultez la section Valeur de retour du message PGM_GETBUTTONSTATE .

Notes

Cette méthode envoie le message PGM_GETBUTTONSTATE , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CPagerCtrl ::GetDropTarget

Récupère l’interface IDropTarget pour le contrôle de pagineur actuel.

IDropTarget* GetDropTarget() const;

Valeur de retour

Pointeur vers l’interface IDropTarget du contrôle de pagineur actif.

Notes

IDropTarget est l’une des interfaces que vous implémentez pour prendre en charge les opérations de glisser-déplacer dans votre application.

Cette méthode envoie le message PGM_GETDROPTARGET , qui est décrit dans le Kit de développement logiciel (SDK) Windows. L’appelant de cette méthode est responsable de l’appel du Release membre de l’interface IDropTarget lorsque l’interface n’est plus nécessaire.

CPagerCtrl ::GetScrollPos

Récupère la position de défilement du contrôle de pagineur actif.

int GetScrollPos() const;

Valeur de retour

Position de défilement actuelle, mesurée en pixels.

Notes

Cette méthode envoie le message PGM_GETPOS , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

L’exemple suivant utilise la méthode CPagerCtrl ::GetScrollPos pour récupérer la position de défilement actuelle du contrôle pager. Si le contrôle de page n’est pas déjà fait défiler vers zéro, la position la plus à gauche, l’exemple utilise la méthode CPagerCtrl ::SetScrollPos pour définir la position de défilement sur zéro.

void CCSplitButton_s2Dlg::OnXScrollposition()
{
   int pos;
   CString str;
   pos = m_pager.GetScrollPos();
   if (pos != 0)
      m_pager.SetScrollPos(0);
   str.Format(_T("Old position = %d; new position = 0"), pos);
   MessageBox(str);
}

CPagerCtrl ::IsButtonDepressed

Indique si le bouton de défilement spécifié du contrôle de pagineur actif est enfoncé.

BOOL IsButtonDepressed(int iButton) const;

Paramètres

iButton
[in] Indique le bouton pour lequel l’état est récupéré. Si le style de contrôle du pagineur est PGS_HORZ, spécifiez PGB_TOPORLEFT pour le bouton gauche et PGB_BOTTOMORRIGHT pour le bouton droit. Si le style de contrôle du pagineur est PGS_VERT, spécifiez PGB_TOPORLEFT pour le bouton supérieur et PGB_BOTTOMORRIGHT pour le bouton inférieur. Pour plus d’informations, consultez Styles de contrôle Pager.

Valeur de retour

TRUE si le bouton spécifié est dans l’état enfoncé ; sinon, FALSE.

Notes

Cette méthode envoie le message PGM_GETBUTTONSTATE , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Il teste ensuite si l’état retourné est PGF_DEPRESSED. Pour plus d’informations, consultez la section Valeur de retour du message PGM_GETBUTTONSTATE .

CPagerCtrl ::IsButtonGrayed

Indique si le bouton de défilement spécifié du contrôle de page actuel est grisé.

BOOL IsButtonGrayed(int iButton) const;

Paramètres

iButton
[in] Indique le bouton pour lequel l’état est récupéré. Si le style de contrôle du pagineur est PGS_HORZ, spécifiez PGB_TOPORLEFT pour le bouton gauche et PGB_BOTTOMORRIGHT pour le bouton droit. Si le style de contrôle du pagineur est PGS_VERT, spécifiez PGB_TOPORLEFT pour le bouton supérieur et PGB_BOTTOMORRIGHT pour le bouton inférieur. Pour plus d’informations, consultez Styles de contrôle Pager.

Valeur de retour

TRUE si le bouton spécifié est grisé ; sinon, FALSE.

Notes

Cette méthode envoie le message PGM_GETBUTTONSTATE , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Il teste ensuite si l’état retourné est PGF_GRAYED. Pour plus d’informations, consultez la section Valeur de retour du message PGM_GETBUTTONSTATE .

CPagerCtrl ::IsButtonHot

Indique si le bouton de défilement spécifié du contrôle de pagineur actuel est en état chaud.

BOOL IsButtonHot(int iButton) const;

Paramètres

iButton
[in] Indique le bouton pour lequel l’état est récupéré. Si le style de contrôle du pagineur est PGS_HORZ, spécifiez PGB_TOPORLEFT pour le bouton gauche et PGB_BOTTOMORRIGHT pour le bouton droit. Si le style de contrôle du pagineur est PGS_VERT, spécifiez PGB_TOPORLEFT pour le bouton supérieur et PGB_BOTTOMORRIGHT pour le bouton inférieur. Pour plus d’informations, consultez Styles de contrôle Pager.

Valeur de retour

TRUE si le bouton spécifié est en état chaud ; sinon, FALSE.

Notes

Cette méthode envoie le message PGM_GETBUTTONSTATE , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Il teste ensuite si l’état retourné est PGF_HOT. Pour plus d’informations, consultez la section Valeur de retour du message PGM_GETBUTTONSTATE .

CPagerCtrl ::IsButtonInvisible

Indique si le bouton de défilement spécifié du contrôle de pagineur actuel est dans un état invisible.

BOOL IsButtonInvisible(int iButton) const;

Paramètres

iButton
[in] Indique le bouton pour lequel l’état est récupéré. Si le style de contrôle du pagineur est PGS_HORZ, spécifiez PGB_TOPORLEFT pour le bouton gauche et PGB_BOTTOMORRIGHT pour le bouton droit. Si le style de contrôle du pagineur est PGS_VERT, spécifiez PGB_TOPORLEFT pour le bouton supérieur et PGB_BOTTOMORRIGHT pour le bouton inférieur. Pour plus d’informations, consultez Styles de contrôle Pager.

Valeur de retour

TRUE si le bouton spécifié est dans un état invisible ; sinon, FALSE.

Notes

Windows rend le bouton de défilement dans une direction particulière invisible lorsque la fenêtre autonome fait défiler jusqu’à sa plus grande étendue, car le fait de cliquer sur le bouton ne peut pas amener davantage de fenêtre autonome en mode affichage.

Cette méthode envoie le message PGM_GETBUTTONSTATE , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Il teste ensuite si l’état retourné est PGF_INVISIBLE. Pour plus d’informations, consultez la section Valeur de retour du message PGM_GETBUTTONSTATE .

Exemple

L’exemple suivant utilise la méthode CPagerCtrl ::IsButtonInvisible pour déterminer si les boutons de défilement gauche et droit du contrôle pager sont visibles.


void CCSplitButton_s2Dlg::OnXIsbuttoninvisible()
{
   BOOL bLeft = m_pager.IsButtonInvisible(PGB_TOPORLEFT);
   BOOL bRight = m_pager.IsButtonInvisible(PGB_BOTTOMORRIGHT);
   CString str;
   str.Format(_T("The left button is%s visible; the right button is%s visible."),
              (bLeft ? _T(" not") : _T("")),
              (bRight ? _T(" not") : _T("")));
   MessageBox(str);
}

CPagerCtrl ::IsButtonNormal

Indique si le bouton de défilement spécifié du contrôle de pagineur actif est dans un état normal.

BOOL IsButtonNormal(int iButton) const;

Paramètres

iButton
[in] Indique le bouton pour lequel l’état est récupéré. Si le style de contrôle du pagineur est PGS_HORZ, spécifiez PGB_TOPORLEFT pour le bouton gauche et PGB_BOTTOMORRIGHT pour le bouton droit. Si le style de contrôle du pagineur est PGS_VERT, spécifiez PGB_TOPORLEFT pour le bouton supérieur et PGB_BOTTOMORRIGHT pour le bouton inférieur. Pour plus d’informations, consultez Styles de contrôle Pager.

Valeur de retour

TRUE si le bouton spécifié est dans un état normal ; sinon, FALSE.

Notes

Cette méthode envoie le message PGM_GETBUTTONSTATE , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Il teste ensuite si l’état retourné est PGF_NORMAL. Pour plus d’informations, consultez la section Valeur de retour du message PGM_GETBUTTONSTATE .

CPagerCtrl ::RecalcSize

Provoque le recalcul du contrôle du pagineur actuel pour recalculer la taille de la fenêtre autonome.

void RecalcSize();

Notes

Cette méthode envoie le message PGM_RECALCSIZE , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Par conséquent, le contrôle de pagineur envoie la notification PGN_CALCSIZE pour obtenir les dimensions défilantes de la fenêtre autonome.

Exemple 1

L’exemple suivant utilise la méthode CPagerCtrl ::RecalcSize pour demander au contrôle de pagineur actuel de recalculer sa taille.

void CCSplitButton_s2Dlg::OnXRecalcsize()
{
   // If the child control changes size, call RecalcSize() to change
   // the size of the pager control accordingly.
   m_pager.RecalcSize();
   MessageBox(_T("The pager control size has been recalculated."));
}

Exemple 2

L’exemple suivant utilise la réflexion de message pour permettre au contrôle du pagineur de recalculer sa propre taille au lieu d’exiger que la boîte de dialogue parent du contrôle effectue le calcul. L’exemple dérive la MyPagerCtrl classe de la classe CPagerCtrl, puis utilise un mappage de messages pour associer la notification PGN_CALCSIZE au OnCalcsize gestionnaire de notification. Dans cet exemple, le gestionnaire de notification définit la largeur et la hauteur du contrôle du pagineur sur des valeurs fixes.

BEGIN_MESSAGE_MAP(CMyPagerCtrl, CPagerCtrl)
ON_NOTIFY_REFLECT(PGN_CALCSIZE, &CMyPagerCtrl::OnCalcSize)
END_MESSAGE_MAP()

// CMyPagerCtrl message handlers
void CMyPagerCtrl::OnCalcSize(NMHDR *code, LRESULT *param)
{
   // If the control contained in the pager control changes size, use this
   // handler to change the size of the pager control accordingly.

   LPNMPGCALCSIZE tmp = (LPNMPGCALCSIZE)code;
   *param = 0;
   tmp->iWidth = 500;
   tmp->iHeight = 50;
}

CPagerCtrl ::SetBkColor

Définit la couleur d’arrière-plan du contrôle de pagineur actif.

COLORREF SetBkColor(COLORREF clrBk);

Paramètres

clrBk
[in] Valeur COLORREF qui contient la nouvelle couleur d’arrière-plan du contrôle de pagineur.

Valeur de retour

Valeur COLORREF qui contient la couleur d’arrière-plan précédente du contrôle de pagineur.

Notes

Cette méthode envoie le message PGM_SETBKCOLOR , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

L’exemple suivant utilise la méthode CPagerCtrl ::SetBkColor pour définir la couleur d’arrière-plan du contrôle pager sur rouge et la méthode CPagerCtrl ::GetBkColor pour confirmer que la modification a été apportée.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl ::SetBorder

Définit la taille de bordure du contrôle de pagineur actif.

int SetBorder(int iBorder);

Paramètres

iBorder
[in] Nouvelle taille de bordure, mesurée en pixels. Si le paramètre iBorder est négatif, la taille de la bordure est définie sur zéro.

Valeur de retour

Taille de bordure précédente, mesurée en pixels.

Notes

Cette méthode envoie le message PGM_SETBORDER , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

L’exemple suivant crée un contrôle de pagineur, puis utilise la méthode CPagerCtrl ::SetChild pour associer un contrôle bouton très long au contrôle pager. L’exemple utilise ensuite la méthode CPagerCtrl ::SetButtonSize pour définir la hauteur du contrôle pager sur 20 pixels et la méthode CPagerCtrl ::SetBorder pour définir l’épaisseur de la bordure sur 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl ::SetButtonSize

Définit la taille du bouton du contrôle de pagineur actif.

int SetButtonSize(int iButtonSize);

Paramètres

iButtonSize
[in] Nouvelle taille de bouton, mesurée en pixels.

Valeur de retour

Taille du bouton précédent, mesurée en pixels.

Notes

Cette méthode envoie le message PGM_SETBUTTONSIZE , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Si le contrôle de pagineur a le style PGS_HORZ, la taille du bouton détermine la largeur des boutons du pagineur et si le contrôle de page a le style PGS_VERT, la taille du bouton détermine la hauteur des boutons du pagineur. La taille du bouton par défaut est de trois quarts de la largeur de la barre de défilement, et la taille minimale du bouton est de 12 pixels. Pour plus d’informations, consultez Styles de contrôle Pager.

Exemple

L’exemple suivant crée un contrôle de pagineur, puis utilise la méthode CPagerCtrl ::SetChild pour associer un contrôle bouton très long au contrôle pager. L’exemple utilise ensuite la méthode CPagerCtrl ::SetButtonSize pour définir la hauteur du contrôle pager sur 20 pixels et la méthode CPagerCtrl ::SetBorder pour définir l’épaisseur de la bordure sur 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl ::SetChild

Définit la fenêtre autonome du contrôle de pagineur actif.

void SetChild(HWND hwndChild);

Paramètres

hwndChild
[in] Handle to the window to be contained.

Notes

Cette méthode envoie le message PGM_SETCHILD , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Cette méthode ne modifie pas le parent de la fenêtre autonome ; il affecte uniquement un handle de fenêtre au contrôle pagineur pour le défilement. Dans la plupart des cas, la fenêtre autonome est une fenêtre enfant du contrôle pager.

Exemple

L’exemple suivant crée un contrôle de pagineur, puis utilise la méthode CPagerCtrl ::SetChild pour associer un contrôle bouton très long au contrôle pager. L’exemple utilise ensuite la méthode CPagerCtrl ::SetButtonSize pour définir la hauteur du contrôle pager sur 20 pixels et la méthode CPagerCtrl ::SetBorder pour définir l’épaisseur de la bordure sur 1 pixel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl ::SetScrollPos

Définit la position de défilement du contrôle de pagineur actif.

void SetScrollPos(int iPos);

Paramètres

iPos
[in] Nouvelle position de défilement, mesurée en pixels.

Notes

Cette méthode envoie le message PGM_SETPOS , qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Voir aussi

CPagerCtrl, classe
Graphique hiérarchique
Contrôles de pagineur