GetScrollInfo-Funktion (winuser.h)

Die GetScrollInfo-Funktion ruft die Parameter einer Bildlaufleiste ab, einschließlich der minimalen und maximalen Bildlaufposition, der Seitengröße und der Position des Scrollfelds (Daumen).

Syntax

BOOL GetScrollInfo(
  [in]      HWND         hwnd,
  [in]      int          nBar,
  [in, out] LPSCROLLINFO lpsi
);

Parameter

[in] hwnd

Typ: HWND

Führen Sie je nach Wert des fnBar-Parameters ein Bildlaufleistensteuerelement oder ein Fenster mit einer Standardlaufleiste durch.

[in] nBar

Typ: int

Gibt den Typ der Bildlaufleiste an, für die Parameter abgerufen werden sollen. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
SB_CTL
Ruft die Parameter für ein Scrollleistensteuerelement ab. Der hwnd-Parameter muss das Handle für das Scrollleistensteuerelement sein.
SB_HORZ
Ruft die Parameter für die horizontale Standardlaufleiste des Fensters ab.
SB_VERT
Ruft die Parameter für die vertikale Standardlaufleiste des Fensters ab.

[in, out] lpsi

Typ: LPSCROLLINFO

Zeiger auf eine SCROLLINFO-Struktur . Legen Sie vor dem Aufrufen von GetScrollInfo das cbSize-Element auf sizeof(SCROLLINFO) fest, und legen Sie das fMask-Element fest, um die abzurufenden Scrollleistenparameter anzugeben. Vor der Rückgabe kopiert die Funktion die angegebenen Parameter in die entsprechenden Member der Struktur.

Das fMask-Element kann mindestens einer der folgenden Werte sein.

Wert Bedeutung
SIF_PAGE
Kopiert die Bildlaufseite in das nPage-Element der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird.
SIF_POS
Kopiert die Bildlaufposition in das nPos-Element der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird.
SIF_RANGE
Kopiert den Bildlaufbereich in die nMin - und nMax-Member der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird.
SIF_TRACKPOS
Kopiert die aktuelle Position der Bildlauffeldnachverfolgung in das nTrackPos-Element der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird.

Rückgabewert

Typ: BOOL

Wenn die Funktion Werte abgerufen hat, ist der Rückgabewert nichtzero.

Wenn die Funktion keine Werte abruft, ist der Rückgabewert 0. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Mit der GetScrollInfo-Funktion können Anwendungen 32-Bit-Scrollpositionen verwenden. Obwohl die Meldungen, die die Position der Bildlaufleiste, WM_HSCROLL und WM_VSCROLL angeben, nur 16 Bit Positionsdaten bereitstellen, stellen die Funktionen SetScrollInfo und GetScrollInfo 32 Bits von Bildlaufleistenpositionsdaten bereit. Daher kann eine Anwendung GetScrollInfo aufrufen, während sie entweder die WM_HSCROLL oder WM_VSCROLL Nachrichten verarbeitet, um 32-Bit-Bildlaufleistenpositionsdaten zu erhalten.

Um die 32-Bit-Position des Bildlauffelds (Thumb) während eines SB_THUMBTRACK Anforderungscodes in einer WM_HSCROLL - oder WM_VSCROLL-Nachricht abzurufen, rufen Sie GetScrollInfo mit dem wert SIF_TRACKPOS im fMask-Element der SCROLLINFO-Struktur auf. Die Funktion gibt die Nachverfolgungsposition des Scrollfelds im nTrackPos-Member der SCROLLINFO-Struktur zurück. Dadurch können Sie die Position des Bildlauffelds abrufen, wenn der Benutzer es verschiebt. Der folgende Beispielcode veranschaulicht die Technik.

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

Wenn der fnBar-Parameter SB_CTL ist und das vom hwnd-Parameter angegebene Fenster kein Systemlaufleistensteuerelement ist, sendet das System die SBM_GETSCROLLINFO Nachricht an das Fenster, um Informationen zur Bildlaufleiste abzurufen. Dadurch kann GetScrollInfo mit einem benutzerdefinierten Steuerelement arbeiten, das eine Bildlaufleiste imitiert. Wenn das Fenster die SBM_GETSCROLLINFO Meldung nicht verarbeitet, schlägt die GetScrollInfo-Funktion fehl.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-misc-l1-2-0 (eingeführt in Windows 8.1)

Weitere Informationen

Referenz

SCROLLINFO

SetScrollInfo

WM_HSCROLL

WM_VSCROLL