Scrolling Mause Pada Datagrid Visual Basic 6.0
Scrolling Mause Pada Datagrid Visual Basic 6.0
00
Setelah sekian lama mencari, akhirnya ktemu jg,..... Tulisan ini hanya skedar bwt orng2 yng mengalami hal yg sm dengn sy sj.... Skalian menambh referensi tentang visual basic 6.00... Tulisan ini bersifat terbuka dan Anda bisa mengirim saran atau komentar ke stevans.malo@gmail.com Penulis tidak bertanggung jawab atas segala hal yang terjadi akibat tulisan ini. Anda berhak mengutip sebagian atau seluruh tulisan ini selama Anda menyebutkan sumber asli pada tulisan Anda. Source code ini bukan buatan sy sendiri, source code aslinya dapat anda lihat di link ini:
Public Function WindowProc(ByVal Lwnd As Long, ByVal Lmsg As Long, ByVal _ wParam As Long, ByVal lParam As Long) As Long Dim MouseKeys As Long Dim Rotation As Long Dim Xpos As Long Dim Ypos As Long If Lmsg = WM_MOUSEWHEEL Then MouseKeys = wParam And 65535 Rotation = wParam / 65536 Xpos = lParam And 65535 Ypos = lParam / 65536 If Rotation = -120 Then MyProperty.Scroll 0, 3 Else MyProperty.Scroll 0, -3 End If End If WindowProc = CallWindowProc(LocalPrevWndProc, Lwnd, Lmsg, wParam, lParam) End Function Public Sub WheelHook(PassedControl As Object) On Error Resume Next Set MyControl = PassedControl LocalHwnd = PassedControl.hwnd LocalPrevWndProc = SetWindowLong(LocalHwnd, GWL_WNDPROC, AddressOf WindowProc) End Sub Sub WheelUnHook() Dim WorkFlag As Long On Error Resume Next WorkFlag = SetWindowLong(LocalHwnd, GWL_WNDPROC, LocalPrevWndProc) Set MyControl = Nothing End Sub Penjelasan pada script di atas: Variabel Myproperty digunakan untyuk menampung obyek datagrid di form yang menjadi tujuan. Jadi pada even load form, variabel ini akan diset terlebihdahulu dengan memasukkan nama datagrid yang ingin diberikan kontrol skrol mause. Perentahnya adalh seperti berikut ini:
Set MyProperty = Form1.Nama_Datagrid
Kemudian pada function WindowProc yang ada di modul akan menggunakan isi dari variabel Myproperty tadi dengan perintah: MyProperty.Scroll 0, 3 atau MyProperty.Scroll 0, -3