Udostępnij za pośrednictwem


CWnd::OnHScroll

Ramy wywołuje tej funkcji Członkowskich, gdy użytkownik kliknie pasek przewijania okna.

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

Parametry

  • nSBCode
    Określa, że kod paska przewijania, który wskazuje użytkownika przewijanym żądania.Ten parametr może być jedną z następujących czynności:

    • SB_LEFT przewijania do lewej.

    • SB_ENDSCROLL End przewijania.

    • SB_LINELEFT przewiń w lewo.

    • SB_LINERIGHT przewiń w prawo.

    • SB_PAGELEFT przewijania po lewej stronie jeden.

    • SB_PAGERIGHT przewijania jednej stronie prawej.

    • SB_RIGHT przewijania do prawej.

    • SB_THUMBPOSITION wskaż położenie bezwzględne.Bieżąca pozycja jest określona przez nPos parametru.

    • SB_THUMBTRACK przeciągnij pole przewijania do określonego położenia.Bieżąca pozycja jest określona przez nPos parametru.

  • nPos
    Określa położenie pole przewijania, jeśli kod pasek przewijania jest SB_THUMBPOSITION lub SB_THUMBTRACK; w przeciwnym razie nie używane.W zależności od zakresu początkowej przewijania nPos może być ujemny i powinny być rzutowane na int w razie potrzeby.

  • pScrollBar
    Jeśli komunikat przewijania pochodzi z formantu paska przewijania, zawiera wskaźnik do formantu.Jeśli użytkownik kliknie pasek przewijania okna, ten parametr jest NULL.Wskaźnik może być tymczasowy i nie powinny być przechowywane w celu późniejszego użycia.

Uwagi

SB_THUMBTRACK kod pasek przewijania jest zazwyczaj używany przez aplikacje, które niektóre opinię podczas przeciągania suwaka przewijania.

Jeśli aplikacja Przewija zawartość kontrolowane przez pasek przewijania, go zresetować pozycja pola przewijania z SetScrollPos funkcji składowej.

[!UWAGA]

Ta funkcja Członkowskich jest wywoływana przez RAM, aby umożliwić aplikacji do obsługi wiadomości dla systemu Windows.Parametry przekazywane do funkcji odzwierciedlać parametry otrzymanych w ramach, kiedy wiadomość została odebrana.Wywołanie jest klasa bazowa wykonania tej funkcji, że realizacja zostanie użyte parametry pierwotnie przekazywane wiadomości i nie podane parametry funkcji.

Przykład

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

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Diagram hierarchii

CWnd::SetScrollPos

CWnd::OnVScroll

WM_HSCROLL