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.
[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 |
---|---|
|
Kopiert die Bildlaufseite in das nPage-Element der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird. |
|
Kopiert die Bildlaufposition in das nPos-Element der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird. |
|
Kopiert den Bildlaufbereich in die nMin - und nMax-Member der SCROLLINFO-Struktur , auf die von lpsi verwiesen wird. |
|
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