Fungsi GetScrollInfo (winuser.h)

Fungsi GetScrollInfo mengambil parameter bilah gulir, termasuk posisi gulir minimum dan maksimum, ukuran halaman, dan posisi kotak gulir (jempol).

Sintaks

BOOL GetScrollInfo(
  [in]      HWND         hwnd,
  [in]      int          nBar,
  [in, out] LPSCROLLINFO lpsi
);

Parameter

[in] hwnd

Jenis: HWND

Tangani ke kontrol bilah gulir atau jendela dengan bilah gulir standar, tergantung pada nilai parameter fnBar .

[in] nBar

Jenis: int

Menentukan jenis bilah gulir untuk mengambil parameter. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
SB_CTL
Mengambil parameter untuk kontrol bilah gulir. Parameter hwnd harus menjadi handel ke kontrol bilah gulir.
SB_HORZ
Mengambil parameter untuk bilah gulir horizontal standar jendela.
SB_VERT
Mengambil parameter untuk bilah gulir vertikal standar jendela.

[in, out] lpsi

Jenis: LPSCROLLINFO

Penunjuk ke struktur SCROLLINFO . Sebelum memanggil GetScrollInfo, atur anggota cbSize ke sizeof (SCROLLINFO), dan atur anggota fMask untuk menentukan parameter bilah gulir yang akan diambil. Sebelum kembali, fungsi menyalin parameter yang ditentukan ke anggota struktur yang sesuai.

Anggota fMask bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
SIF_PAGE
Menyalin halaman gulir ke anggota nPage struktur SCROLLINFO yang diarahkan oleh lpsi.
SIF_POS
Menyalin posisi gulir ke anggota nPos struktur SCROLLINFO yang ditujukkan oleh lpsi.
SIF_RANGE
Menyalin rentang gulir ke anggota nMin dan nMax dari struktur SCROLLINFO yang ditujukkan oleh lpsi.
SIF_TRACKPOS
Menyalin posisi pelacakan kotak gulir saat ini ke anggota nTrackPos dari struktur SCROLLINFO yang ditujukkan oleh lpsi.

Nilai kembali

Jenis: BOOL

Jika fungsi mengambil nilai apa pun, nilai yang dikembalikan bukan nol.

Jika fungsi tidak mengambil nilai apa pun, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi GetScrollInfo memungkinkan aplikasi untuk menggunakan posisi gulir 32-bit. Meskipun pesan yang menunjukkan posisi bilah gulir, WM_HSCROLL dan WM_VSCROLL, hanya menyediakan 16 bit data posisi, fungsi SetScrollInfo dan GetScrollInfo menyediakan 32 bit data posisi bilah gulir. Dengan demikian, aplikasi dapat memanggil GetScrollInfo saat memproses pesan WM_HSCROLL atau WM_VSCROLL untuk mendapatkan data posisi bilah gulir 32-bit.

Untuk mendapatkan posisi 32-bit kotak gulir (jempol) selama kode permintaan SB_THUMBTRACK dalam pesan WM_HSCROLL atau WM_VSCROLL , panggil GetScrollInfo dengan nilai SIF_TRACKPOS di anggota fMask struktur SCROLLINFO . Fungsi mengembalikan posisi pelacakan kotak gulir di anggota nTrackPos dari struktur SCROLLINFO . Ini memungkinkan Anda untuk mendapatkan posisi kotak gulir saat pengguna memindahkannya. Kode sampel berikut mengilustrasikan teknik.

SCROLLINFO si;
case WM_HSCROLL:
    switch(LOWORD(wparam)) {
        case SB_THUMBTRACK:
          // Initialize SCROLLINFO structure
 
            ZeroMemory(&si, sizeof(si));
            si.cbSize = sizeof(si);
            si.fMask = SIF_TRACKPOS;
 
          // Call GetScrollInfo to get current tracking 
          //    position in si.nTrackPos
 
            if (!GetScrollInfo(hwnd, SB_HORZ, &si) )
                return 1; // GetScrollInfo failed
            break;
        .
        .
        .
    }

Jika parameter fnBar SB_CTL dan jendela yang ditentukan oleh parameter hwnd bukan kontrol bilah gulir sistem, sistem mengirim pesan SBM_GETSCROLLINFO ke jendela untuk mendapatkan informasi bilah gulir. Ini memungkinkan GetScrollInfo untuk beroperasi pada kontrol kustom yang meniru bilah gulir. Jika jendela tidak menangani pesan SBM_GETSCROLLINFO , fungsi GetScrollInfo gagal.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-misc-l1-2-0 (diperkenalkan dalam Windows 8.1)

Lihat juga

Referensi

SCROLLINFO

SetScrollInfo

WM_HSCROLL

WM_VSCROLL