VB可以使用子類化處理鼠標(biāo)滾輪消息。
創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
新建工程
在窗體中添加滾動(dòng)條VScroll1
'窗體代碼
Private Sub Form_Load()
'取得控件的句柄
hwndVS = VScroll1.hwnd
'保存smMap控件的默認(rèn)窗口消息處理函數(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)默認(rèn)的窗口消息處理函數(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
'則對鼠標(biāo)滾輪事件進(jìn)行處理
If wParam = -7864320 Then '向下滾動(dòng)
Form1.VScroll1.Value = Form1.VScroll1.Value + 1
ElseIf wParam = 7864320 Then '向上滾動(dòng)
Form1.VScroll1.Value = Form1.VScroll1.Value - 1
End If
Else
'調(diào)用默認(rèn)窗口消息處理函數(shù)
NewWindowProc = CallWindowProc(OldWindowProc, hwnd, msg, wParam, lParam)
End If
End Function
將RTF的Padding設(shè)置比較大,例如10,此時(shí)我發(fā)現(xiàn)鼠標(biāo)移動(dòng)到RTF的邊緣部分的時(shí)候(不超過Padding的范圍),滾動(dòng)條就能夠顯示,一旦鼠標(biāo)移動(dòng)到Content里面的時(shí)候,滾動(dòng)條就不顯示
1、滾動(dòng)條分為水平滾動(dòng)條(HSCROLLBAR)和垂直滾動(dòng)條(VSCROLLBAR)兩種,可以作為輸入設(shè)備或者速度、數(shù)量的指示器來使用.
2、基本屬性:object.max[=value],object.min[=value],最大最小范圍 object.value[=value],
點(diǎn)擊panel時(shí)得到panel的焦點(diǎn),就可以用鼠標(biāo)滾輪來控制滾動(dòng)條了!代碼如下:
Private?Sub?Panel1_Click(ByVal?sender?As?Object,?ByVal?e?As?System.EventArgs)?Handles?Panel1.Click
Panel1.Focus()
End?Sub
根據(jù)我的經(jīng)驗(yàn),應(yīng)該是PICtureBox沒有獲取焦點(diǎn),而win10下不知道什么原因能自動(dòng)獲取焦點(diǎn),所以湊巧成功了,因此你應(yīng)該讓圖形框獲取焦點(diǎn)
如:picturebox1.focus()
不知道是不是解決了你的問題
本文題目:vb.net鼠標(biāo)滾輪 vb6鼠標(biāo)滾輪
當(dāng)前地址:http://muchs.cn/article16/docsgdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、定制網(wǎng)站、搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)