如何在一个文本框内将鼠标右击事件屏蔽掉?
解决方案 »
- VB里面的一个问题,请大家来回答下
- 数据控件绑定网格浏览数据库问题
- 请教版主------看下这个问题
- 急急!VB程序中服务器与客户的问题!
- 如何在程序中动态更改水晶报表中设计的标题?
- 我的Label控件为什么总在TabStrip控件的下面?怎么设置才能看见?
- 请问怎样用treeview做到像资源管理器一样的程序?在线等侍,急,谢谢!!!
- 有关activex动态从数据库读出控件显示的速度优化问题!!我现在写的这个太慢了,让人无法忍受!
- 有关treeview问题!!!急!急!急!
- VB小白求教-如何实现点击Treeview的子节点,能够在richtextbox中加载同子节点名字一样的word
- 中文在搜索中的问题
- databasename问题(急!!!在线等待!!!)
Public Const WH_MOUSE = 7
Public Const WM_RBUTTONDOWN = &H204
Public Const HC_ACTION = 0
Public Const WM_RBUTTONUP = &H205 Declare Function SetWindowsHookEx Lib "user32" Alias _
"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, _
ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Declare Function UnhookWindowsHookEx Lib "user32" _
(ByVal hHook As Long) As Long
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _
ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" _
(lpvDest As Any, ByVal lpvSource As Long, ByVal cbCopy As Long)
' Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Public theForm As Form
Public hHook As Long ' handle of Hook Procedure
Sub EnableHook()
If hHook = 0 Then
hHook = SetWindowsHookEx(WH_MOUSE, AddressOf MouseHookProc, App.hInstance, 0)
End If
End Sub
Sub FreeHook()
Dim ret As Long
If hHook <> 0 Then
ret = UnhookWindowsHookEx(hHook)
hHook = 0
End If
End Sub
Function MouseHookProc(ByVal code As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
If code < 0 Then
MouseHookProc = CallNextHookEx(hHook, code, wParam, lParam)
Exit Function
End If
If wParam = WM_RBUTTONDOWN Or wParam = WM_RBUTTONUP Then
MouseHookProc = 1 '表示不处理这个讯息
Exit Function
End If
MouseHookProc = 0 '表示要处理这个讯息
Call CallNextHookEx(hHook, code, wParam, lParam)
End Function'以下在form中
Private Sub Form_Load()
Call EnableHook
End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Debug.Print X; Y
End SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Debug.Print X; Y
End SubPrivate Sub Form_Unload(Cancel As Integer)
Call FreeHook
End Sub
在text框 的mousedown事件里面写
'顺序至关重要,先无效再生效
text1.enabled=false
text1.enabled=true
'然后弹出你自己的菜单
popupmenu Youemenuname