Biblioteki C/C++
GetScrollInfo
[funkcja] Pobiera parametry paska przewijania takie jak: minimalna i maksymalna pozycja, rozmiar strony oraz aktualna pozycja suwaka.Składnia
#include <windows.h>
BOOL GetScrollInfo( HWND hwnd, int fnBar, LPSCROLLINFO lpsi );
Argumenty
Zwracana wartość
Jeśli funkcja zakończy się normalnie, zwracana wartość jest niezerowa, inaczej zero. Aby uzyskać rozszerzone informacje o błędach, wywołaj funkcję
GetLastError.
Dodatkowe informacje
Funkcja umożliwia używanie 32-bitowej pozycji przewijania. Mimo tego komunikaty wskazujące pozycję ScrollBara (
WM_HSCROLL oraz
WM_VSCROLL) zapewniają tylko 16 bitów dla danych pozycji, funkcje
SetScrollInfo i
GetScrollInfo zapewniają 32 bity dla danych pozycji ScrollBara. Jeśli wartość argumentu
fnBar wynosi
SB_CTL i okno określone przez argument
hwnd nie jest systemowym ScrollBarem, system wysyła komunikat
SBM_GETSCROLLINFO do okna, aby uzyskać informacje o ScrollBarze. To pozwala tej funkcji na ręczną kontrolę ScrollBara. Jeśli okno nie przechwytuje komunikatu
SBM_GETSCROLLINFO, to ta funkcja zwróci błąd.
Przykłady
Program może wywołać tą funkcję podczas wykonywania komunikatów
WM_HSCROLL i
WM_VSCROLL, aby uzyskać 32-bitowe dane pozycji ScrollBara. Aby pobrać 32-bitową pozycję ScrollBara podczas powiadomienia
SB_THUMBTRACK w komunikatach
WM_HSCROLL i
WM_VSCROLL, wywołaj tą funkcję z argumentem
lpsi wskazującym na strukturę
SCROLLINFO ze składową
fMask o wartości
SIF_TRACKPOS. Funkcja zapisze pozycję przewijania ScrollBara w składowej
nTrackPos struktury
SCROLLINFO. To pozwala pobrać pozycję ScrollBara, gdy użytkownik go przewija. Poniższy kod pokazuje tą technikę:
case WM_HSCROLL:
{
switch( LOWORD( wparam ) )
{
case SB_THUMBTRACK:
{
SCROLLINFO si;
ZeroMemory( & si, sizeof( si ) );
si.cbSize = sizeof( si );
si.fMask = SIF_TRACKPOS;
if( !GetScrollInfo( hwnd, SB_HORZ, & si ) ) return 1;
} break;
}
} break;
Wymagania
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.