Função GetScrollInfo (winuser.h)
A função GetScrollInfo recupera os parâmetros de uma barra de rolagem, incluindo as posições de rolagem mínima e máxima, o tamanho da página e a posição da caixa de rolagem (polegar).
Sintaxe
BOOL GetScrollInfo(
[in] HWND hwnd,
[in] int nBar,
[in, out] LPSCROLLINFO lpsi
);
Parâmetros
[in] hwnd
Tipo: HWND
Manipule para um controle de barra de rolagem ou uma janela com uma barra de rolagem padrão, dependendo do valor do parâmetro fnBar .
[in] nBar
Tipo: int
Especifica o tipo de barra de rolagem para a qual recuperar parâmetros. Esse parâmetro pode usar um dos valores a seguir.
[in, out] lpsi
Tipo: LPSCROLLINFO
Ponteiro para uma estrutura SCROLLINFO . Antes de chamar GetScrollInfo, defina o membro cbSize como sizeof (SCROLLINFO) e defina o membro fMask para especificar os parâmetros da barra de rolagem a serem recuperados. Antes de retornar, a função copia os parâmetros especificados para os membros apropriados da estrutura.
O membro fMask pode ser um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
Copia a página de rolagem para o membro nPage da estrutura SCROLLINFO apontada por lpsi. |
|
Copia a posição de rolagem para o membro nPos da estrutura SCROLLINFO apontada por lpsi. |
|
Copia o intervalo de rolagem para os membros nMin e nMax da estrutura SCROLLINFO apontada por lpsi. |
|
Copia a posição de acompanhamento da caixa de rolagem atual para o membro nTrackPos da estrutura SCROLLINFO apontada por lpsi. |
Retornar valor
Tipo: BOOL
Se a função recuperou valores, o valor retornado será diferente de zero.
Se a função não recuperar nenhum valor, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
A função GetScrollInfo permite que os aplicativos usem posições de rolagem de 32 bits. Embora as mensagens que indicam a posição da barra de rolagem, WM_HSCROLL e WM_VSCROLL, forneçam apenas 16 bits de dados de posição, as funções SetScrollInfo e GetScrollInfo fornecem 32 bits de dados de posição da barra de rolagem. Assim, um aplicativo pode chamar GetScrollInfo durante o processamento das mensagens de WM_HSCROLL ou WM_VSCROLL para obter dados de posição da barra de rolagem de 32 bits.
Para obter a posição de 32 bits da caixa de rolagem (polegar) durante um código de solicitação SB_THUMBTRACK em uma mensagem WM_HSCROLL ou WM_VSCROLL , chame GetScrollInfo com o valor SIF_TRACKPOS no membro fMask da estrutura SCROLLINFO . A função retorna a posição de acompanhamento da caixa de rolagem no membro nTrackPos da estrutura SCROLLINFO . Isso permite que você obtenha a posição da caixa de rolagem à medida que o usuário a move. O código de exemplo a seguir ilustra a técnica.
SCROLLINFO si;
case WM_HSCROLL:
switch(LOWORD(wparam)) {
case SB_THUMBTRACK:
// Initialize SCROLLINFO structure
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.fMask = SIF_TRACKPOS;
// Call GetScrollInfo to get current tracking
// position in si.nTrackPos
if (!GetScrollInfo(hwnd, SB_HORZ, &si) )
return 1; // GetScrollInfo failed
break;
.
.
.
}
Se o parâmetro fnBar for SB_CTL e a janela especificada pelo parâmetro hwnd não for um controle de barra de rolagem do sistema, o sistema enviará a mensagem SBM_GETSCROLLINFO para a janela para obter informações da barra de rolagem. Isso permite que GetScrollInfo opere em um controle personalizado que imita uma barra de rolagem. Se a janela não manipular a mensagem SBM_GETSCROLLINFO , a função GetScrollInfo falhará.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-misc-l1-2-0 (introduzido em Windows 8.1) |
Confira também
Referência