Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
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.