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.
[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 |
---|---|
|
Menyalin halaman gulir ke anggota nPage struktur SCROLLINFO yang diarahkan oleh lpsi. |
|
Menyalin posisi gulir ke anggota nPos struktur SCROLLINFO yang ditujukkan oleh lpsi. |
|
Menyalin rentang gulir ke anggota nMin dan nMax dari struktur SCROLLINFO yang ditujukkan oleh lpsi. |
|
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