SetScrollRange-Funktion (winuser.h)

Die SetScrollRange-Funktion legt die minimalen und maximalen Scrollfeldpositionen für die angegebene Bildlaufleiste fest.

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

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.

Wert Bedeutung
SB_CTL
Legt den Bereich eines Bildlaufleistensteuerelements fest. Der hwnd-Parameter muss das Handle für das Scrollleistensteuerelement sein.
SB_HORZ
Legt den Bereich der horizontalen Standardlaufleiste eines Fensters fest.
SB_VERT
Legt den Bereich der vertikalen Standardlaufleiste eines Fensters fest.

[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

GetScrollInfo

GetScrollPos

GetScrollRange

Referenz

SetScrollInfo

SetScrollPos

ShowScrollBar