SetScrollRange-Funktion (winuser.h)
Die SetScrollRange-Funktion legt die minimalen und maximalen Scrollfeldpositionen für die angegebene Bildlaufleiste fest.
Syntax
BOOL SetScrollRange(
[in] HWND hWnd,
[in] int nBar,
[in] int nMinPos,
[in] int nMaxPos,
[in] BOOL bRedraw
);
Parameter
[in] hWnd
Typ: HWND
Führen Sie je nach Wert des nBar-Parameters ein Bildlaufleistensteuerelement oder ein Fenster mit einer Standardlaufleiste durch.
[in] nBar
Typ: int
Gibt die festzulegende Bildlaufleiste an. Dieser Parameter kann einen der folgenden Werte annehmen.
[in] nMinPos
Typ: int
Gibt die minimale Scrollposition an.
[in] nMaxPos
Typ: int
Gibt die maximale Scrollposition an.
[in] bRedraw
Typ: BOOL
Gibt an, ob die Bildlaufleiste neu gezeichnet werden soll, um die Änderung widerzuspiegeln. Wenn dieser Parameter TRUE ist, wird die Bildlaufleiste neu gezeichnet. Wenn sie FALSE ist, wird die Bildlaufleiste nicht neu gezeichnet.
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Sie können SetScrollRange verwenden, um die Bildlaufleiste auszublenden, indem Sie nMinPos und nMaxPos auf denselben Wert festlegen. Eine Anwendung sollte die SetScrollRange-Funktion nicht aufrufen, um eine Bildlaufleiste während der Verarbeitung einer Bildlaufleistennachricht auszublenden. Neue Anwendungen sollten die ShowScrollBar-Funktion verwenden, um die Bildlaufleiste auszublenden.
Wenn der Aufruf von SetScrollRange sofort auf einen Aufruf der SetScrollPos-Funktion folgt, muss der bRedraw-Parameter in SetScrollPos null sein, um zu verhindern, dass die Scrollleiste zweimal gezeichnet wird.
Der Standardbereich für eine Standardlaufleiste ist 0 bis 100. Der Standardbereich für ein Scrollleistensteuerelement ist leer (sowohl die Parameterwerte nMinPos als auch nMaxPos sind null). Der Unterschied zwischen den Werten, die durch die Parameter nMinPos und nMaxPos angegeben werden, darf nicht größer als der Wert von MAXLONG sein.
Da die Nachrichten, die die Position der Bildlaufleiste angeben, WM_HSCROLL und WM_VSCROLL, auf 16 Bits an Positionsdaten beschränkt sind, weisen Anwendungen, die sich ausschließlich auf diese Nachrichten für Positionsdaten verlassen, einen praktischen Maximalwert von 65.535 für den nMaxPos-Parameter der SetScrollRange-Funktion auf.
Da die Funktionen SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos und GetScrollRange jedoch 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 Systemlaufleistensteuerelement ist, sendet das System die SBM_SETRANGE Meldung an das Fenster, um Bildlaufleisteninformationen festzulegen. Dadurch kann SetScrollRange mit einem benutzerdefinierten Steuerelement arbeiten, das eine Bildlaufleiste imitiert. Wenn das Fenster die SBM_SETRANGE Meldung nicht verarbeitet, schlägt die SetScrollRange-Funktion fehl.
Beispiele
Ein Beispiel finden Sie unter Verwenden des Owner-Display Zwischenablageformats.
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