Compartilhar via


CWnd::OnHScroll

A estrutura chama esta função de membro quando o usuário clica horizontal da janela BAR de rolar.

afx_msg void OnHScroll(
   UINT nSBCode,
   UINT nPos,
   CScrollBar* pScrollBar 
);

Parâmetros

  • nSBCode
    Especifica a rolar-código de barras indica que o usuário da solicitação de rolar.Esse parâmetro pode ser uma das seguintes opções:

    • SB_LEFT rolar para esquerda.

    • SB_ENDSCROLL   rolar de participante.

    • SB_LINELEFT   Rolar à esquerda.

    • SB_LINERIGHT   rolar right.

    • SB_PAGELEFT rolar uma página à esquerda.

    • SB_PAGERIGHT rolar uma página à direita.

    • SB_RIGHT rolar extrema direita.

    • SB_THUMBPOSITION   Role até a posição absoluta.A posição corrente é especificada pelo nPos parâmetro.

    • SB_THUMBTRACK   Arrastar caixa de rolar posição especificada.A posição corrente é especificada pelo nPos parâmetro.

  • nPos
    Especifica a posição da caixa de rolar se o código de BAR de rolar é SB_THUMBPOSITION or SB_THUMBTRACK; caso contrário, não usado.Dependendo do intervalo inicial de rolar, nPos pode ser negativo e deve ser convertido em um int Se necessário.

  • pScrollBar
    Se a mensagem de rolar for proveniente de um controle de BAR de rolar, contém um ponteiro para o controle.Se o usuário clicou em uma janela BAR de rolar, este parâmetro é NULO.O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

The SB_THUMBTRACKcódigo de barras de rolar de normalmente é usado por aplicativos que oferecem alguns comentários enquanto o caixa de rolar estiver sendo arrastado.

Se um aplicativo rola o Sumário controlado pela BAR de rolar, ele também deve reiniciar a posição da caixa de rolar com o SetScrollPosfunção de membro .

Observação:

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipular uma mensagem do Windows.Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida.Se você chamar a implementação da classe de base dessa função, essa implementação usará os parâmetros passados originalmente com a mensagem e não os parâmetros que você fornecer para a função.

Exemplo

void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
   // Get the minimum and maximum scroll-bar positions.
   int minpos;
   int maxpos;
   GetScrollRange(SB_HORZ, &minpos, &maxpos); 
   maxpos = GetScrollLimit(SB_HORZ);

   // Get the current position of scroll box.
   int curpos = GetScrollPos(SB_HORZ);

   // Determine the new position of scroll box.
   switch (nSBCode)
   {
   case SB_LEFT:      // Scroll to far left.
      curpos = minpos;
      break;

   case SB_RIGHT:      // Scroll to far right.
      curpos = maxpos;
      break;

   case SB_ENDSCROLL:   // End scroll.
      break;

   case SB_LINELEFT:      // Scroll left.
      if (curpos > minpos)
         curpos--;
      break;

   case SB_LINERIGHT:   // Scroll right.
      if (curpos < maxpos)
         curpos++;
      break;

   case SB_PAGELEFT:    // Scroll one page left.
   {
      // Get the page size. 
      SCROLLINFO   info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos > minpos)
      curpos = max(minpos, curpos - (int) info.nPage);
   }
      break;

   case SB_PAGERIGHT:      // Scroll one page right.
   {
      // Get the page size. 
      SCROLLINFO   info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos < maxpos)
         curpos = min(maxpos, curpos + (int) info.nPage);
   }
      break;

   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
      curpos = nPos;      // of the scroll box at the end of the drag operation.
      break;

   case SB_THUMBTRACK:   // Drag scroll box to specified position. nPos is the
      curpos = nPos;     // position that the scroll box has been dragged to.
      break;
   }

   // Set the new position of the thumb (scroll box).
   SetScrollPos(SB_HORZ, curpos);

   CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CWnd

Gráfico de hierarquia

CWnd::SetScrollPos

CWnd::OnVScroll

WM_HSCROLL

Outros recursos

Membros CWnd