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.

Hinweis Die SetScrollPos-Funktion wird aus Gründen der Abwärtskompatibilität bereitgestellt. Neue Anwendungen sollten die SetScrollInfo-Funktion verwenden.
 

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.

Wert Bedeutung
SB_CTL
Legt die Position des Bildlauffelds in einem Bildlaufleisten-Steuerelement fest. Der hwnd-Parameter muss das Handle für das Bildlaufleisten-Steuerelement sein.
SB_HORZ
Legt die Position des Bildlauffelds in der horizontalen Standardlaufleiste eines Fensters fest.
SB_VERT
Legt die Position des Bildlauffelds in der standardmäßigen vertikalen Bildlaufleiste eines Fensters fest.

[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

GetScrollInfo

GetScrollPos

GetScrollRange

Referenz

SetScrollInfo

SetScrollRange