VB可以使用子類化處理鼠標滾輪消息。
創(chuàng)新互聯(lián)成立于2013年,我們提供高端重慶網站建設公司、成都網站制作、網站設計、網站定制、網絡營銷推廣、小程序制作、微信公眾號開發(fā)、成都網站營銷服務,提供專業(yè)營銷思路、內容策劃、視覺設計、程序開發(fā)來完成項目落地,為混凝土攪拌罐企業(yè)提供源源不斷的流量和訂單咨詢。
新建工程
在窗體中添加滾動條VScroll1
'窗體代碼
Private Sub Form_Load()
'取得控件的句柄
hwndVS = VScroll1.hwnd
'保存smMap控件的默認窗口消息處理函數(shù)地址
OldWindowProc = GetWindowLong(VScroll1.hwnd, GWL_WNDPROC)
'將smMap控件的消息處理函數(shù)指定為自定義函數(shù)NewWindowProc
Call SetWindowLong(VScroll1.hwnd, GWL_WNDPROC, AddressOf NewWindowProc)
End Sub
添加一模塊:
Option Explicit
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Const GWL_WNDPROC = -4
Public Const WM_MOUSEWHEEL = H20A
Public OldWindowProc As Long '用來保存系統(tǒng)默認的窗口消息處理函數(shù)的地址
Public hwndVS As Long '用來保存控件的句柄
'自定義的消息處理函數(shù)
Public Function NewWindowProc(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
On Error Resume Next
If msg = WM_MOUSEWHEEL Then
'則對鼠標滾輪事件進行處理
If wParam = -7864320 Then '向下滾動
Form1.VScroll1.Value = Form1.VScroll1.Value + 1
ElseIf wParam = 7864320 Then '向上滾動
Form1.VScroll1.Value = Form1.VScroll1.Value - 1
End If
Else
'調用默認窗口消息處理函數(shù)
NewWindowProc = CallWindowProc(OldWindowProc, hwnd, msg, wParam, lParam)
End If
End Function
根據(jù)我的經驗,應該是PICtureBox沒有獲取焦點,而win10下不知道什么原因能自動獲取焦點,所以湊巧成功了,因此你應該讓圖形框獲取焦點
如:picturebox1.focus()
不知道是不是解決了你的問題
。net 不用api就行
縮放操作
Function 縮放(ByVal bitmap As Bitmap, ByVal 倍數(shù) As Single) As Bitmap
Dim w As Integer = bitmap.Width * 倍數(shù)
Dim h As Integer = bitmap.Height * 倍數(shù)
Dim tem As New Bitmap(w, h)
Dim g As Graphics = Graphics.FromImage(tem)
g.DrawImage(bitmap, New Rectangle(0, 0, w, h), New Rectangle(0, 0, bitmap.Width, bitmap.Height), GraphicsUnit.Pixel)
g.Dispose()
Return tem
End Function
鼠標滾輪事件 MouseWheel
MouseEventArgs.Delta 值可以判斷滾動方向
1、滾動條分為水平滾動條(HSCROLLBAR)和垂直滾動條(VSCROLLBAR)兩種,可以作為輸入設備或者速度、數(shù)量的指示器來使用. 2、基本屬性:object.max[=value],object.min[=value],最大最小范圍 object.value[=value],
本文名稱:vb點虐
鼠標滾輪 vb6鼠標滾輪事件
本文地址:http://jinyejixie.com/article28/ddiedjp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供、網站制作、網站設計、定制開發(fā)、軟件開發(fā)、域名注冊
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)