Partilhar via


Classe CPagerCtrl

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

A CPagerCtrl classe envolve o controlo do pager do Windows, que pode deslocar-se para a vista de uma janela contida que não se encaixa na janela que contém.

Sintaxe

class CPagerCtrl : public CWnd

Membros

Construtores Públicos

Nome Description
CPagerCtrl::CPagerCtrl Constrói um CPagerCtrl objeto.

Métodos Públicos

Nome Description
CPagerCtrl::Create Cria um controlo de pager com estilos especificados e anexa-o ao objeto atual CPagerCtrl .
CPagerCtrl::CreateEx Cria um controlo de pager com estilos estendidos especificados e anexa-o ao objeto atual CPagerCtrl .
CPagerCtrl::ForwardMouse Ativa ou desativa o encaminhamento de mensagens WM_MOUSEMOVE para a janela contida no controlo atual do pager.
CPagerCtrl::GetBkColor Recupera a cor de fundo do controlo atual do pager.
CPagerCtrl::GetBorder Recupera o tamanho da borda do controlo do pager atual.
CPagerCtrl::GetButtonSize Recupera o tamanho do botão do controlo atual do pager.
CPagerCtrl::GetButtonState Recupera o estado do botão especificado no controlo atual do pager.
CPagerCtrl::GetDropTarget Recupera a interface IDropTarget para o controlo atual do pager.
CPagerCtrl::GetScrollPos Recupera a posição de scroll do controlo atual do pager.
CPagerCtrl::IsButtonPressed Indica se o botão especificado do controlo atual do pager está em pressed estado.
CPagerCtrl::IsButtonGrayed Indica se o botão especificado do controlo atual do pager está em grayed estado.
CPagerCtrl::IsButtonHot Indica se o botão especificado do controlo atual do pager está em hot estado.
CPagerCtrl::IsButtonInvisible Indica se o botão especificado do controlo atual do pager está em invisible estado.
CPagerCtrl::IsButtonNormal Indica se o botão especificado do controlo atual do pager está em normal estado.
CPagerCtrl::RecalcSize Faz com que o controlo atual do pager recalcule o tamanho da janela contida.
CPagerCtrl::SetBkColor Define a cor de fundo do controlo atual do pager.
CPagerCtrl::SetBorder Define o tamanho da borda do controlo atual do pager.
CPagerCtrl::SetButtonSize Define o tamanho do botão do controlo atual do pager.
CPagerCtrl::SetChild Define a janela contida para o controlo atual do pager.
CPagerCtrl::SetScrollPos Define a posição de scroll do controlo atual do pager.

Observações

Um controlo de pager é uma janela que contém outra janela que é linear e maior do que a janela que contém, e permite deslocar a janela contida até à vista. O controlo do pager exibe dois botões de scroll que desaparecem automaticamente quando a janela contida é deslocada até ao máximo, e reaparecem caso contrário. Podes criar um controlo de pager que desloca horizontal ou verticalmente.

Por exemplo, se a sua aplicação tiver uma barra de ferramentas que não é suficientemente larga para mostrar todos os seus itens, pode atribuir a barra de ferramentas a um controlo de pager e os utilizadores poderão deslocar a barra de ferramentas para a esquerda ou direita para aceder a todos os itens. O Microsoft Internet Explorer Versão 4.0 (commctrl.dll versão 4.71) introduz o controlo do pager.

A CPagerCtrl classe deriva da classe CWnd . Para mais informações e uma ilustração de um controlo de paginação, veja Controlos de paginação.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CPagerCtrl

Requerimentos

Cabeçalho: afxcmn.h

CPagerCtrl::CPagerCtrl

Constrói um CPagerCtrl objeto.

CPagerCtrl();

Observações

Use o método CPagerCtrl::Create ou CPagerCtrl::CreateEx para criar um controlo de pager e anexá-lo ao CPagerCtrl objeto.

CPagerCtrl::Create

Cria um controlo de pager com estilos especificados e anexa-o ao objeto atual CPagerCtrl .

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

Parâmetros

dwStyle
[dentro] Uma combinação bit a bit (OR) de estilos de janela e estilos de controlo de pager a ser aplicada ao controlo.

retângulo
[dentro] Uma referência a uma estrutura RECT que contém a posição e o tamanho do controlo em coordenadas do cliente.

pParentWnd
[dentro] Um apontador para um objeto CWnd que é a janela pai do controlo. Este parâmetro não pode ser NULL.

nID
[dentro] O ID do controlo.

Valor de retorno

TRUE se este método for bem-sucedido; caso contrário, FALSO.

Observações

Para criar um controlo pager, declare uma CPagerCtrl variável e depois chame o método CPagerCtrl::Create ou CPagerCtrl::CreateEx nessa variável.

Example

O exemplo seguinte cria um controlo de pager e depois usa o método CPagerCtrl::SetChild para associar um controlo de botão muito longo ao controlo do pager. O exemplo utiliza então o método CPagerCtrl::SetButtonSize para definir a altura do controlo do pager para 20 pixels, e o método CPagerCtrl::SetBorder para definir a espessura da borda para 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

Cria um controlo de pager com estilos estendidos especificados e anexa-o ao objeto atual CPagerCtrl .

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

Parâmetros

dwExStyle
[dentro] Uma combinação bit a bit de estilos estendidos a aplicar ao controlo. Para mais informações, consulte o parâmetro dwExStyle da função CreateWindowEx .

dwStyle
[dentro] Uma combinação bit a bit (OR) de estilos de janela e estilos de controlo de pager a ser aplicada ao controlo.

retângulo
[dentro] Uma referência a uma estrutura RECT que contém a posição e o tamanho do controlo em coordenadas do cliente.

pParentWnd
[dentro] Um apontador para um objeto CWnd que é a janela pai do controlo. Este parâmetro não pode ser NULL.

nID
[dentro] O ID do controlo.

Valor de retorno

TRUE se este método for bem-sucedido; caso contrário, FALSO.

Observações

Para criar um controlo pager, declare uma CPagerCtrl variável e depois chame o método CPagerCtrl::Create ou CPagerCtrl::CreateEx nessa variável.

CPagerCtrl::ForwardMouse

Ativa ou desativa o encaminhamento de mensagens WM_MOUSEMOVE para a janela contida no controlo atual do pager.

void ForwardMouse(BOOL bForward);

Parâmetros

bForward
[dentro] TRUE para encaminhar mensagens do rato, ou FALSE para não encaminhar mensagens do rato.

Observações

Este método envia a mensagem PGM_FORWARDMOUSE , que é descrita no SDK do Windows.

CPagerCtrl::GetBorder

Recupera o tamanho da borda do controlo do pager atual.

int GetBorder() const;

Valor de retorno

O tamanho atual da borda, medido em pixels.

Observações

Este método envia a mensagem PGM_GETBORDER , que é descrita no SDK do Windows.

Example

O exemplo seguinte utiliza o método CPagerCtrl::GetBorder para recuperar a espessura da borda do controlo do 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

Recupera a cor de fundo do controlo atual do pager.

COLORREF GetBkColor() const;

Valor de retorno

Um valor COLORREF que contém a cor de fundo atual do controlo do pager.

Observações

Este método envia a mensagem PGM_GETBKCOLOR , que é descrita no SDK do Windows.

Example

O exemplo seguinte utiliza o método CPagerCtrl::SetBkColor para definir a cor de fundo do controlo do pager para vermelho, e o método CPagerCtrl::GetBkColor para confirmar que a alteração foi feita.

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 o tamanho do botão do controlo atual do pager.

int GetButtonSize() const;

Valor de retorno

O tamanho atual do botão, medido em pixels.

Observações

Este método envia a mensagem PGM_GETBUTTONSIZE , que é descrita no SDK do Windows.

Se o controlo do pager tiver o estilo PGS_HORZ, o tamanho do botão determina a largura dos botões do pager, e se o controlo do pager tiver o estilo PGS_VERT, o tamanho do botão determina a altura dos botões do pager. Para mais informações, consulte Estilos de Controlo do Pager.

CPagerCtrl::GetButtonState

Recupera o estado do botão de scroll especificado no controlo atual do pager.

DWORD GetButtonState(int iButton) const;

Parâmetros

iButton
[dentro] Indica o botão para o qual o estado foi recuperado. Se o estilo de controlo do pager for PGS_HORZ, especifique PGB_TOPORLEFT para o botão esquerdo e PGB_BOTTOMORRIGHT para o direito. Se o estilo de controlo do pager for PGS_VERT, especifique PGB_TOPORLEFT para o botão superior e PGB_BOTTOMORRIGHT para o botão inferior. Para mais informações, consulte Estilos de Controlo do Pager.

Valor de retorno

O estado do botão especificado pelo parâmetro iButton . O estado pode ser PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED ou PGF_HOT. Para mais informações, consulte a secção Return Value da mensagem PGM_GETBUTTONSTATE .

Observações

Este método envia a mensagem PGM_GETBUTTONSTATE , que é descrita no SDK do Windows.

CPagerCtrl::GetDropTarget

Recupera a interface IDropTarget para o controlo atual do pager.

IDropTarget* GetDropTarget() const;

Valor de retorno

Um ponteiro para a IDropTarget interface do controlo atual do pager.

Observações

IDropTarget é uma das interfaces que implementa para suportar operações de arrastar e largar na sua aplicação.

Este método envia a mensagem PGM_GETDROPTARGET , que é descrita no SDK do Windows. O chamador deste método é responsável por chamar o Release membro da interface IDropTarget quando a interface já não é necessária.

CPagerCtrl::GetScrollPos

Recupera a posição de scroll do controlo atual do pager.

int GetScrollPos() const;

Valor de retorno

A posição atual do scroll, medida em pixels.

Observações

Este método envia a mensagem PGM_GETPOS , que é descrita no SDK do Windows.

Example

O exemplo seguinte utiliza o método CPagerCtrl::GetScrollPos para recuperar a posição atual de scroll do controlo do paginador. Se o controlo do pager ainda não estiver deslocado para zero, a posição mais à esquerda, o exemplo usa o método CPagerCtrl::SetScrollPos para definir a posição de scroll a zero.

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

Indica se o botão de scroll especificado do controlo atual do pager está em estado pressionado.

BOOL IsButtonDepressed(int iButton) const;

Parâmetros

iButton
[dentro] Indica o botão para o qual o estado foi recuperado. Se o estilo de controlo do pager for PGS_HORZ, especifique PGB_TOPORLEFT para o botão esquerdo e PGB_BOTTOMORRIGHT para o direito. Se o estilo de controlo do pager for PGS_VERT, especifique PGB_TOPORLEFT para o botão superior e PGB_BOTTOMORRIGHT para o botão inferior. Para mais informações, consulte Estilos de Controlo do Pager.

Valor de retorno

TRUE se o botão especificado estiver em estado pressionado; caso contrário, FALSO.

Observações

Este método envia a mensagem PGM_GETBUTTONSTATE , que é descrita no SDK do Windows. Depois testa se o estado devolvido é PGF_DEPRESSED. Para mais informações, consulte a secção Return Value da mensagem PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonGrayed

Indica se o botão de deslocamento especificado do controlo atual do pager está em estado cinzento.

BOOL IsButtonGrayed(int iButton) const;

Parâmetros

iButton
[dentro] Indica o botão para o qual o estado foi recuperado. Se o estilo de controlo do pager for PGS_HORZ, especifique PGB_TOPORLEFT para o botão esquerdo e PGB_BOTTOMORRIGHT para o direito. Se o estilo de controlo do pager for PGS_VERT, especifique PGB_TOPORLEFT para o botão superior e PGB_BOTTOMORRIGHT para o botão inferior. Para mais informações, consulte Estilos de Controlo do Pager.

Valor de retorno

TRUE se o botão especificado estiver em estado cinzento; caso contrário, FALSO.

Observações

Este método envia a mensagem PGM_GETBUTTONSTATE , que é descrita no SDK do Windows. Depois testa se o estado devolvido é PGF_GRAYED. Para mais informações, consulte a secção Return Value da mensagem PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonHot

Indica se o botão de deslocamento especificado do controlo do pager atual está em estado quente.

BOOL IsButtonHot(int iButton) const;

Parâmetros

iButton
[dentro] Indica o botão para o qual o estado foi recuperado. Se o estilo de controlo do pager for PGS_HORZ, especifique PGB_TOPORLEFT para o botão esquerdo e PGB_BOTTOMORRIGHT para o direito. Se o estilo de controlo do pager for PGS_VERT, especifique PGB_TOPORLEFT para o botão superior e PGB_BOTTOMORRIGHT para o botão inferior. Para mais informações, consulte Estilos de Controlo do Pager.

Valor de retorno

TRUE se o botão especificado estiver em estado de fase; caso contrário, FALSO.

Observações

Este método envia a mensagem PGM_GETBUTTONSTATE , que é descrita no SDK do Windows. Depois testa se o estado devolvido é PGF_HOT. Para mais informações, consulte a secção Return Value da mensagem PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonInvisible

Indica se o botão de scroll especificado do controlo atual do pager está em estado invisível.

BOOL IsButtonInvisible(int iButton) const;

Parâmetros

iButton
[dentro] Indica o botão para o qual o estado foi recuperado. Se o estilo de controlo do pager for PGS_HORZ, especifique PGB_TOPORLEFT para o botão esquerdo e PGB_BOTTOMORRIGHT para o direito. Se o estilo de controlo do pager for PGS_VERT, especifique PGB_TOPORLEFT para o botão superior e PGB_BOTTOMORRIGHT para o botão inferior. Para mais informações, consulte Estilos de Controlo do Pager.

Valor de retorno

TRUE se o botão especificado estiver em estado invisível; caso contrário, FALSO.

Observações

O Windows torna o botão de scroll numa direção específica invisível quando a janela contida é deslocada ao máximo, porque clicar mais no botão não pode trazer mais da janela contida à vista.

Este método envia a mensagem PGM_GETBUTTONSTATE , que é descrita no SDK do Windows. Depois testa se o estado devolvido é PGF_INVISIBLE. Para mais informações, consulte a secção Return Value da mensagem PGM_GETBUTTONSTATE .

Example

O exemplo seguinte utiliza o método CPagerCtrl::IsButtonInvisible para determinar se os botões de scroll esquerdo e direito do controlo do pager são visíveis.

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 se o botão de deslocamento especificado do controlo atual do pager está em estado normal.

BOOL IsButtonNormal(int iButton) const;

Parâmetros

iButton
[dentro] Indica o botão para o qual o estado foi recuperado. Se o estilo de controlo do pager for PGS_HORZ, especifique PGB_TOPORLEFT para o botão esquerdo e PGB_BOTTOMORRIGHT para o direito. Se o estilo de controlo do pager for PGS_VERT, especifique PGB_TOPORLEFT para o botão superior e PGB_BOTTOMORRIGHT para o botão inferior. Para mais informações, consulte Estilos de Controlo do Pager.

Valor de retorno

TRUE se o botão especificado estiver em estado normal; caso contrário, FALSO.

Observações

Este método envia a mensagem PGM_GETBUTTONSTATE , que é descrita no SDK do Windows. Depois testa se o estado devolvido é PGF_NORMAL. Para mais informações, consulte a secção Return Value da mensagem PGM_GETBUTTONSTATE .

CPagerCtrl::RecalcSize

Faz com que o controlo atual do pager recalcule o tamanho da janela contida.

void RecalcSize();

Observações

Este método envia a mensagem PGM_RECALCSIZE , que é descrita no SDK do Windows. Consequentemente, o controlo do pager envia a notificação PGN_CALCSIZE para obter as dimensões deslocáveis da janela contida.

Exemplo 1

O exemplo seguinte utiliza o método CPagerCtrl::RecalcSize para solicitar ao controlo atual do pager que recalcule o seu tamanho.

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."));
}

Exemplo 2

O exemplo seguinte utiliza a reflexão de mensagens para permitir que o controlo do pager recalcule o seu próprio tamanho, em vez de exigir que o diálogo pai do controlo execute o cálculo. O exemplo deriva a MyPagerCtrl classe a partir da classe CPagerCtrl e depois usa um mapa de mensagens para associar a notificação PGN_CALCSIZE ao OnCalcsize manipulador de notificações. Neste exemplo, o manipulador de notificações define a largura e altura do controlo do pager para valores fixos.

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

Define a cor de fundo do controlo atual do pager.

COLORREF SetBkColor(COLORREF clrBk);

Parâmetros

clrBk
[dentro] Um valor COLORREF que contém a nova cor de fundo do controlo do pager.

Valor de retorno

Um valor COLORREF que contém a cor de fundo anterior do controlo do paginador.

Observações

Este método envia a mensagem PGM_SETBKCOLOR , que é descrita no SDK do Windows.

Example

O exemplo seguinte utiliza o método CPagerCtrl::SetBkColor para definir a cor de fundo do controlo do pager para vermelho, e o método CPagerCtrl::GetBkColor para confirmar que a alteração foi feita.

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

Define o tamanho da borda do controlo atual do pager.

int SetBorder(int iBorder);

Parâmetros

iBorder
[dentro] O novo tamanho da borda, medido em píxeis. Se o parâmetro iBorder for negativo, o tamanho da borda é definido para zero.

Valor de retorno

O tamanho anterior da borda, medido em píxeis.

Observações

Este método envia a mensagem PGM_SETBORDER , que é descrita no SDK do Windows.

Example

O exemplo seguinte cria um controlo de pager e depois usa o método CPagerCtrl::SetChild para associar um controlo de botão muito longo ao controlo do pager. O exemplo utiliza então o método CPagerCtrl::SetButtonSize para definir a altura do controlo do pager para 20 pixels, e o método CPagerCtrl::SetBorder para definir a espessura da borda para 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

Define o tamanho do botão do controlo atual do pager.

int SetButtonSize(int iButtonSize);

Parâmetros

iButtonSize
[dentro] O novo tamanho do botão, medido em píxeis.

Valor de retorno

O tamanho anterior do botão, medido em píxeis.

Observações

Este método envia a mensagem PGM_SETBUTTONSIZE , que é descrita no SDK do Windows.

Se o controlo do pager tiver o estilo PGS_HORZ, o tamanho do botão determina a largura dos botões do pager, e se o controlo do pager tiver o estilo PGS_VERT, o tamanho do botão determina a altura dos botões do pager. O tamanho padrão do botão é três quartos da largura da barra de deslocação, e o tamanho mínimo do botão é de 12 píxeis. Para mais informações, consulte Estilos de Controlo do Pager.

Example

O exemplo seguinte cria um controlo de pager e depois usa o método CPagerCtrl::SetChild para associar um controlo de botão muito longo ao controlo do pager. O exemplo utiliza então o método CPagerCtrl::SetButtonSize para definir a altura do controlo do pager para 20 pixels, e o método CPagerCtrl::SetBorder para definir a espessura da borda para 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

Define a janela contida para o controlo atual do pager.

void SetChild(HWND hwndChild);

Parâmetros

hwndChild
[dentro] Pega à janela para ser contida.

Observações

Este método envia a mensagem PGM_SETCHILD , que é descrita no SDK do Windows.

Este método não altera o pai da janela contida; Atribui apenas um handler de janela ao controlo do pager para scroll. Na maioria dos casos, a janela contida será uma janela filha do controlo do pager.

Example

O exemplo seguinte cria um controlo de pager e depois usa o método CPagerCtrl::SetChild para associar um controlo de botão muito longo ao controlo do pager. O exemplo utiliza então o método CPagerCtrl::SetButtonSize para definir a altura do controlo do pager para 20 pixels, e o método CPagerCtrl::SetBorder para definir a espessura da borda para 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

Define a posição de scroll do controlo atual do pager.

void SetScrollPos(int iPos);

Parâmetros

iPos
[dentro] A nova posição de scroll, medida em píxeis.

Observações

Este método envia a mensagem PGM_SETPOS , que é descrita no SDK do Windows.

Consulte também

Classe CPagerCtrl
Gráfico de Hierarquia
Controlos do pager