Clase CPagerCtrl
La clase CPagerCtrl
ajusta el control de paginación de Windows, que puede desplazar en la vista una ventana contenida que no cabe en la ventana contenedora.
Sintaxis
class CPagerCtrl : public CWnd
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CPagerCtrl::CPagerCtrl | Construye un objeto CPagerCtrl . |
Métodos públicos
Nombre | Descripción |
---|---|
CPagerCtrl::Create | Crea un control de paginación con los estilos especificados y lo asocia al objeto CPagerCtrl actual. |
CPagerCtrl::CreateEx | Crea un control de paginación con los estilos extendidos especificados y lo asocia al objeto CPagerCtrl actual. |
CPagerCtrl::ForwardMouse | Habilita o deshabilita el reenvío de mensajes WM_MOUSEMOVE a la ventana contenida en el control de paginación actual. |
CPagerCtrl::GetBkColor | Recupera el color de fondo del control de paginación actual. |
CPagerCtrl::GetBorder | Recupera el tamaño del borde del control de paginación actual. |
CPagerCtrl::GetButtonSize | Recupera el tamaño del botón del control de paginación actual. |
CPagerCtrl::GetButtonState | Recupera el estado del botón especificado en el control de paginación actual. |
CPagerCtrl::GetDropTarget | Recupera la interfaz IDropTarget interfaz para el control de paginación actual. |
CPagerCtrl::GetScrollPos | Recupera la posición de desplazamiento del control de paginación actual. |
CPagerCtrl::IsButtonDepressed | Indica si el estado del botón especificado del control de paginación actual es pressed . |
CPagerCtrl::IsButtonGrayed | Indica si el estado del botón especificado del control de paginación actual es grayed . |
CPagerCtrl::IsButtonHot | Indica si el estado del botón especificado del control de paginación actual es hot . |
CPagerCtrl::IsButtonInvisible | Indica si el estado del botón especificado del control de paginación actual es invisible . |
CPagerCtrl::IsButtonNormal | Indica si el estado del botón especificado del control de paginación actual es normal . |
CPagerCtrl::RecalcSize | Hace que el control de paginación actual vuelva a calcular el tamaño de la ventana independiente. |
CPagerCtrl::SetBkColor | Establece el color de fondo del control de paginación actual. |
CPagerCtrl::SetBorder | Establece el tamaño del borde del control de paginación actual. |
CPagerCtrl::SetButtonSize | Establece el tamaño del botón del control de paginación actual. |
CPagerCtrl::SetChild | Establece la ventana independiente para el control de paginación actual. |
CPagerCtrl::SetScrollPos | Establece la posición de desplazamiento del control de paginación actual. |
Comentarios
Un control de paginación es una ventana que contiene otra ventana lineal y mayor que la ventana contenedora, y permite desplazar la ventana independiente a la vista. El control de paginación muestra dos botones de desplazamiento que desaparecen automáticamente cuando la ventana independiente se desplaza hasta el final y que vuelven a aparecer en caso contrario. Puede crear un control de paginación que se desplace horizontal o verticalmente.
Por ejemplo, si la aplicación tiene una barra de herramientas que no es lo suficientemente ancha como para mostrar todos sus elementos, puede asignar la barra de herramientas a un control de paginación y los usuarios podrán desplazarse por la barra de herramientas a la izquierda o a la derecha para acceder a todos los elementos. El control de paginación se introdujo en la versión 4.0 (versión 4.71 de commctrl.dll) de Microsoft Internet Explorer.
La clase CPagerCtrl
deriva de la clase CWnd. Para más información y una ilustración de un control de paginación, consulte Controles de paginación.
Jerarquía de herencia
CPagerCtrl
Requisitos
Encabezado: afxcmn.h
CPagerCtrl::CPagerCtrl
Construye un objeto CPagerCtrl
.
CPagerCtrl();
Comentarios
Use el método CPagerCtrl::Create o CPagerCtrl::CreateEx para crear un control de paginación y asociarlo al objeto CPagerCtrl
.
CPagerCtrl::Create
Crea un control de paginación con los estilos especificados y lo asocia al objeto CPagerCtrl
actual.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
[in] Combinación (OR) bit a bit de estilos de ventana y de estilos de control de paginación que se aplicarán al control.
rect
[in] Referencia a una estructura RECT que contiene la posición y el tamaño del control en coordenadas cliente.
pParentWnd
[in] Puntero a un objeto CWnd que es la ventana primaria del control. Este parámetro no puede ser NULL.
Nid
[in] Identificador del control.
Valor devuelto
TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.
Comentarios
Para crear un control de paginación, declare una variable CPagerCtrl
y, a continuación, llame al método CPagerCtrl::Create o CPagerCtrl::CreateEx en esa variable.
Ejemplo
En el ejemplo siguiente, se crea un control de paginación y, a continuación, se usa el método CPagerCtrl::SetChild para asociar un control de botón muy largo al control de paginación. A continuación, en el ejemplo se usa el método CPagerCtrl::SetButtonSize para establecer el alto del control de paginación en 20 píxeles y el método CPagerCtrl::SetBorder para establecer el grosor del borde en 1 píxel.
// 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
Crea un control de paginación con los estilos extendidos especificados y lo asocia al objeto CPagerCtrl
actual.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwExStyle
[in] Combinación bit a bit de estilos extendidos que se aplicarán al control. Para obtener más información, consulte el parámetro dwExStyle de la función CreateWindowEx.
dwStyle
[in] Combinación (OR) bit a bit de estilos de ventana y de estilos de control de paginación que se aplicarán al control.
rect
[in] Referencia a una estructura RECT que contiene la posición y el tamaño del control en coordenadas cliente.
pParentWnd
[in] Puntero a un objeto CWnd que es la ventana primaria del control. Este parámetro no puede ser NULL.
Nid
[in] Identificador del control.
Valor devuelto
TRUE si este método se ejecuta correctamente; de lo contrario, FALSE.
Comentarios
Para crear un control de paginación, declare una variable CPagerCtrl
y, a continuación, llame al método CPagerCtrl::Create o CPagerCtrl::CreateEx en esa variable.
CPagerCtrl::ForwardMouse
Habilita o deshabilita el reenvío de mensajes WM_MOUSEMOVE a la ventana contenida en el control de paginación actual.
void ForwardMouse(BOOL bForward);
Parámetros
bForward
[in] TRUE para reenviar mensajes del mouse o FALSE para no hacerlo.
Comentarios
Al usar este método, se envía el mensaje PGM_FORWARDMOUSE, que se describe en Windows SDK.
CPagerCtrl::GetBorder
Recupera el tamaño del borde del control de paginación actual.
int GetBorder() const;
Valor devuelto
Tamaño del borde actual, medido en píxeles.
Comentarios
Al usar este método, se envía el mensaje PGM_GETBORDER, que se describe en Windows SDK.
Ejemplo
En el ejemplo siguiente, se usa el método CPagerCtrl::GetBorder para recuperar el grosor del borde del control de paginación.
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
Recupera el color de fondo del control de paginación actual.
COLORREF GetBkColor() const;
Valor devuelto
Valor COLORREF que contiene el color de fondo actual del control de paginación.
Comentarios
Al usar este método, se envía el mensaje PGM_GETBKCOLOR, que se describe en Windows SDK.
Ejemplo
En el ejemplo siguiente, se usa el método CPagerCtrl::SetBkColor para establecer el color de fondo del control de paginación en rojo y el método CPagerCtrl::GetBkColor para confirmar que se hizo el cambio.
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
Recupera el tamaño del botón del control de paginación actual.
int GetButtonSize() const;
Valor devuelto
Tamaño del botón actual, medido en píxeles.
Comentarios
Al usar este método, se envía el mensaje PGM_GETBUTTONSIZE, que se describe en Windows SDK.
Si el control de paginación tiene el estilo PGS_HORZ, el tamaño del botón determina el ancho de los botones de paginación y, si el control de paginación tiene el estilo PGS_VERT, el tamaño del botón determina el alto de los botones de paginación. Para más información, consulte Estilos del control de paginación.
CPagerCtrl::GetButtonState
Recupera el estado del botón de desplazamiento especificado en el control de paginación actual.
DWORD GetButtonState(int iButton) const;
Parámetros
iButton
[in] Indica el botón para el que se recupera el estado. Si el estilo del control de paginación es PGS_HORZ, especifique PGB_TOPORLEFT para el botón izquierdo y PGB_BOTTOMORRIGHT para el botón derecho. Si el estilo del control de paginación es PGS_VERT, especifique PGB_TOPORLEFT para el botón superior y PGB_BOTTOMORRIGHT para el botón inferior. Para más información, consulte Estilos del control de paginación.
Valor devuelto
Estado del botón que el parámetro iButton especifica. El estado es PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED o PGF_HOT. Para más información, consulte la sección Valor devuelto del mensaje PGM_GETBUTTONSTATE.
Comentarios
Al usar este método, se usa el mensaje PGM_GETBUTTONSTATE, que se escribe en Windows SDK.
CPagerCtrl::GetDropTarget
Recupera la interfaz IDropTarget interfaz para el control de paginación actual.
IDropTarget* GetDropTarget() const;
Valor devuelto
Puntero a la interfaz IDropTarget
para el control de paginación actual.
Comentarios
IDropTarget
es una de las interfaces que implementa para admitir operaciones de arrastrar y colocar en la aplicación.
Al usar este método, se envía el mensaje PGM_GETDROPTARGET, que se describe en Windows SDK. El autor de llamada de este método es responsable de llamar al miembro Release
de la interfaz IDropTarget cuando ya no se necesita la interfaz.
CPagerCtrl::GetScrollPos
Recupera la posición de desplazamiento del control de paginación actual.
int GetScrollPos() const;
Valor devuelto
Posición de desplazamiento actual, medida en píxeles.
Comentarios
Al usar este método, se envía el mensaje PGM_GETPOS, que se describe en Windows SDK.
Ejemplo
En el ejemplo siguiente, se usa el método CPagerCtrl::GetScrollPos para recuperar la posición de desplazamiento actual del control de paginación. Si el control de paginación todavía no se desplaza a cero, la posición situada más a la izquierda, en el ejemplo se usa el método CPagerCtrl::SetScrollPos para establecer la posición de desplazamiento en cero.
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
Indica si el estado del botón de desplazamiento especificado del control de paginación actual es presionado.
BOOL IsButtonDepressed(int iButton) const;
Parámetros
iButton
[in] Indica el botón para el que se recupera el estado. Si el estilo del control de paginación es PGS_HORZ, especifique PGB_TOPORLEFT para el botón izquierdo y PGB_BOTTOMORRIGHT para el botón derecho. Si el estilo del control de paginación es PGS_VERT, especifique PGB_TOPORLEFT para el botón superior y PGB_BOTTOMORRIGHT para el botón inferior. Para más información, consulte Estilos del control de paginación.
Valor devuelto
TRUE si el estilo del botón especificado es presionado; de lo contrario, FALSE.
Comentarios
Al usar este método, se usa el mensaje PGM_GETBUTTONSTATE, que se escribe en Windows SDK. A continuación, comprueba si el estado devuelto es PGF_DEPRESSED. Para más información, consulte la sección Valor devuelto del mensaje PGM_GETBUTTONSTATE.
CPagerCtrl::IsButtonGrayed
Indica si el estado del botón de desplazamiento especificado del control de paginación actual es atenuado.
BOOL IsButtonGrayed(int iButton) const;
Parámetros
iButton
[in] Indica el botón para el que se recupera el estado. Si el estilo del control de paginación es PGS_HORZ, especifique PGB_TOPORLEFT para el botón izquierdo y PGB_BOTTOMORRIGHT para el botón derecho. Si el estilo del control de paginación es PGS_VERT, especifique PGB_TOPORLEFT para el botón superior y PGB_BOTTOMORRIGHT para el botón inferior. Para más información, consulte Estilos del control de paginación.
Valor devuelto
TRUE si el estado del botón especificado es atenuado; de lo contrario, FALSE.
Comentarios
Al usar este método, se usa el mensaje PGM_GETBUTTONSTATE, que se escribe en Windows SDK. A continuación, comprueba si el estado devuelto es PGF_GRAYED. Para más información, consulte la sección Valor devuelto del mensaje PGM_GETBUTTONSTATE.
CPagerCtrl::IsButtonHot
Indica si el estado del botón de desplazamiento especificado del control de paginación actual es activo.
BOOL IsButtonHot(int iButton) const;
Parámetros
iButton
[in] Indica el botón para el que se recupera el estado. Si el estilo del control de paginación es PGS_HORZ, especifique PGB_TOPORLEFT para el botón izquierdo y PGB_BOTTOMORRIGHT para el botón derecho. Si el estilo del control de paginación es PGS_VERT, especifique PGB_TOPORLEFT para el botón superior y PGB_BOTTOMORRIGHT para el botón inferior. Para más información, consulte Estilos del control de paginación.
Valor devuelto
TRUE si el estado del botón especificado es activo; de lo contrario, FALSE.
Comentarios
Al usar este método, se usa el mensaje PGM_GETBUTTONSTATE, que se escribe en Windows SDK. A continuación, comprueba si el estado devuelto es PGF_HOT. Para más información, consulte la sección Valor devuelto del mensaje PGM_GETBUTTONSTATE.
CPagerCtrl::IsButtonInvisible
Indica si el estado del botón de desplazamiento especificado del control de paginación es invisible.
BOOL IsButtonInvisible(int iButton) const;
Parámetros
iButton
[in] Indica el botón para el que se recupera el estado. Si el estilo del control de paginación es PGS_HORZ, especifique PGB_TOPORLEFT para el botón izquierdo y PGB_BOTTOMORRIGHT para el botón derecho. Si el estilo del control de paginación es PGS_VERT, especifique PGB_TOPORLEFT para el botón superior y PGB_BOTTOMORRIGHT para el botón inferior. Para más información, consulte Estilos del control de paginación.
Valor devuelto
TRUE si el estado del botón especificado es invisible; de lo contrario, FALSE.
Comentarios
Windows hace que el botón de desplazamiento en una dirección determinada sea invisible cuando la ventana independiente se desplace a la posición más lejana, porque al hacer clic en el botón no se puede ver más de la ventana independiente.
Al usar este método, se usa el mensaje PGM_GETBUTTONSTATE, que se escribe en Windows SDK. A continuación, comprueba si el estado devuelto es PGF_INVISIBLE. Para más información, consulte la sección Valor devuelto del mensaje PGM_GETBUTTONSTATE.
Ejemplo
En el ejemplo siguiente, se usa el método CPagerCtrl::IsButtonInvisible para determinar si los botones de desplazamiento izquierdo y derecho del control de paginación están 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
Indica si el estado del botón de desplazamiento especificado del control de paginación actual es normal.
BOOL IsButtonNormal(int iButton) const;
Parámetros
iButton
[in] Indica el botón para el que se recupera el estado. Si el estilo del control de paginación es PGS_HORZ, especifique PGB_TOPORLEFT para el botón izquierdo y PGB_BOTTOMORRIGHT para el botón derecho. Si el estilo del control de paginación es PGS_VERT, especifique PGB_TOPORLEFT para el botón superior y PGB_BOTTOMORRIGHT para el botón inferior. Para más información, consulte Estilos del control de paginación.
Valor devuelto
TRUE si el estado del botón especificado es normal; de lo contrario, FALSE.
Comentarios
Al usar este método, se usa el mensaje PGM_GETBUTTONSTATE, que se escribe en Windows SDK. A continuación, comprueba si el estado devuelto es PGF_NORMAL. Para más información, consulte la sección Valor devuelto del mensaje PGM_GETBUTTONSTATE.
CPagerCtrl::RecalcSize
Hace que el control de paginación actual vuelva a calcular el tamaño de la ventana independiente.
void RecalcSize();
Comentarios
Al usar este método, se envía el mensaje PGM_RECALCSIZE, que se describe en Windows SDK. Por lo tanto, el control de paginación envía la notificación PGN_CALCSIZE para obtener las dimensiones desplazables de la ventana independiente.
Ejemplo 1
En el ejemplo siguiente, se usa el método CPagerCtrl::RecalcSize para solicitar que se vuelva a calcular el tamaño del control de paginación actual.
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."));
}
Ejemplo 2
En el ejemplo siguiente, se usa la reflexión de mensajes para permitir que el control de paginación vuelva a calcular su propio tamaño en lugar de requerir que el diálogo primario del control haga el cálculo. El ejemplo deriva de la clase MyPagerCtrl
de la clase CPagerCtrl y, luego, usa una asignación de mensajes para asociar la notificación PGN_CALCSIZE con el controlador de notificaciones OnCalcsize
. En este ejemplo, el controlador de notificaciones establece el ancho y alto del control de paginación en valores fijos.
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
Establece el color de fondo del control de paginación actual.
COLORREF SetBkColor(COLORREF clrBk);
Parámetros
clrBk
[in] Valor COLORREF que contiene el color de fondo nuevo del control de paginación.
Valor devuelto
Valor COLORREF que contiene el color de fondo anterior del control de paginación.
Comentarios
Al usar este método, se envía el mensaje PGM_SETBKCOLOR, que se describe en Windows SDK.
Ejemplo
En el ejemplo siguiente, se usa el método CPagerCtrl::SetBkColor para establecer el color de fondo del control de paginación en rojo y el método CPagerCtrl::GetBkColor para confirmar que se hizo el cambio.
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
Establece el tamaño del borde del control de paginación actual.
int SetBorder(int iBorder);
Parámetros
iBorder
[in] Tamaño del borde nuevo, medido en píxeles. Si el parámetro iBorder es negativo, el tamaño del borde se establece en cero.
Valor devuelto
Tamaño del borde anterior, medido en píxeles.
Comentarios
Al usar este método, se envía el mensaje PGM_SETBORDER, que se describe en Windows SDK.
Ejemplo
En el ejemplo siguiente, se crea un control de paginación y, a continuación, se usa el método CPagerCtrl::SetChild para asociar un control de botón muy largo al control de paginación. A continuación, en el ejemplo se usa el método CPagerCtrl::SetButtonSize para establecer el alto del control de paginación en 20 píxeles y el método CPagerCtrl::SetBorder para establecer el grosor del borde en 1 píxel.
// 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
Establece el tamaño del botón del control de paginación actual.
int SetButtonSize(int iButtonSize);
Parámetros
iButtonSize
[in] Tamaño del botón nuevo, medido en píxeles.
Valor devuelto
Tamaño del botón anterior, medido en píxeles.
Comentarios
Al usar este método, se envía el mensaje PGM_SETBUTTONSIZE, que se describe en Windows SDK.
Si el control de paginación tiene el estilo PGS_HORZ, el tamaño del botón determina el ancho de los botones de paginación y, si el control de paginación tiene el estilo PGS_VERT, el tamaño del botón determina el alto de los botones de paginación. El tamaño del botón predeterminado es tres cuartos del ancho de la barra de desplazamiento y el tamaño mínimo del botón es de 12 píxeles. Para más información, consulte Estilos del control de paginación.
Ejemplo
En el ejemplo siguiente, se crea un control de paginación y, a continuación, se usa el método CPagerCtrl::SetChild para asociar un control de botón muy largo al control de paginación. A continuación, en el ejemplo se usa el método CPagerCtrl::SetButtonSize para establecer el alto del control de paginación en 20 píxeles y el método CPagerCtrl::SetBorder para establecer el grosor del borde en 1 píxel.
// 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
Establece la ventana independiente para el control de paginación actual.
void SetChild(HWND hwndChild);
Parámetros
hwndChild
[in] Controlador de la ventana que se va a contener.
Comentarios
Al usar este método, se envía el mensaje PGM_SETCHILD, que se describe en Windows SDK.
Este método no cambia el elemento primario de la ventana independiente; solo asigna un controlador de ventana al control de paginación para desplazamiento. En la mayoría de los casos, la ventana independiente será una ventana secundaria del control de paginación.
Ejemplo
En el ejemplo siguiente, se crea un control de paginación y, a continuación, se usa el método CPagerCtrl::SetChild para asociar un control de botón muy largo al control de paginación. A continuación, en el ejemplo se usa el método CPagerCtrl::SetButtonSize para establecer el alto del control de paginación en 20 píxeles y el método CPagerCtrl::SetBorder para establecer el grosor del borde en 1 píxel.
// 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
Establece la posición de desplazamiento del control de paginación actual.
void SetScrollPos(int iPos);
Parámetros
iPos
[in] Posición de desplazamiento nueva, medida en píxeles.
Comentarios
Al usar este método, se envía el mensaje PGM_SETPOS, que se describe en Windows SDK.
Consulte también
CPagerCtrl (clase)
Gráfico de jerarquías
Controles de paginación