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
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