SetScrollPos-Funktion (winuser.h)
Die SetScrollPos-Funktion legt die Position des Bildlauffelds (Daumens) in der angegebenen Bildlaufleiste fest und zeichnet die Bildlaufleiste bei Bedarf neu, um die neue Position des Bildlauffelds widerzuspiegeln.
Syntax
int SetScrollPos(
[in] HWND hWnd,
[in] int nBar,
[in] int nPos,
[in] BOOL bRedraw
);
Parameter
[in] hWnd
Typ: HWND
Handle für ein Bildlaufleisten-Steuerelement oder ein Fenster mit einer Standard-Bildlaufleiste, abhängig vom Wert des nBar-Parameters .
[in] nBar
Typ: int
Gibt die festzulegende Bildlaufleiste an. Dieser Parameter kann einen der folgenden Werte annehmen.
[in] nPos
Typ: int
Gibt die neue Position des Bildlauffelds an. Die Position muss innerhalb des Bildlaufbereichs liegen. Weitere Informationen zum Bildlaufbereich finden Sie in der SetScrollRange-Funktion .
[in] bRedraw
Typ: BOOL
Gibt an, ob die Bildlaufleiste neu gezeichnet wird, um die neue Position des Bildlauffelds widerzuspiegeln. Wenn dieser Parameter TRUE ist, wird die Bildlaufleiste neu gezeichnet. Wenn false festgelegt ist, wird die Bildlaufleiste nicht neu gezeichnet.
Rückgabewert
Typ: int
Wenn die Funktion erfolgreich ist, ist der Rückgabewert die vorherige Position des Bildlauffelds.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn die Bildlaufleiste durch einen nachfolgenden Aufruf einer anderen Funktion neu gezeichnet wird, ist das Festlegen des bRedraw-Parameters auf FALSE nützlich.
Da die Meldungen, die die Position der Bildlaufleiste angeben, WM_HSCROLL und WM_VSCROLL, auf 16 Bits von Positionsdaten beschränkt sind, haben Anwendungen, die ausschließlich auf diesen Nachrichten für Positionsdaten basieren, einen praktischen Höchstwert von 65.535 für den nPos-Parameter der SetScrollPos-Funktion.
Da jedoch die Funktionen SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos und GetScrollRange 32-Bit-Bildlaufleistenpositionsdaten unterstützen, gibt es eine Möglichkeit, die 16-Bit-Barriere der WM_HSCROLL - und WM_VSCROLL-Nachrichten zu umgehen. Eine Beschreibung der Technik finden Sie unter GetScrollInfo .
Wenn der nBar-Parameter SB_CTL ist und das durch den hWnd-Parameter angegebene Fenster kein Systemlaufleisten-Steuerelement ist, sendet das System die SBM_SETPOS Meldung an das Fenster, um Bildlaufleisteninformationen festzulegen. Dadurch kann SetScrollPos mit einem benutzerdefinierten Steuerelement arbeiten, das eine Bildlaufleiste imitiert. Wenn das Fenster die SBM_SETPOS Meldung nicht verarbeitet, schlägt die SetScrollPos-Funktion fehl.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-misc-l1-2-0 (eingeführt in Windows 8.1) |
Weitere Informationen
Referenz