我们都知道在VB中TextBox默认是没有双击消息过程的(也就是双击事件,单击事件是有的.),那么看看本文是怎么实现TextBox双击消息的吧。
Option Explicit
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 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 Const GWL_WNDPROC = (-4)
Public Const WM_NCLBUTTONDBLCLK = &H203 'DoubleClick Message
Public prevWndProc As Long
Public Function WndProc(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If msg = WM_NCLBUTTONDBLCLK Then 'DoubleClick Message
'Eat The Message
Else 'Other Message send to next
WndProc = CallWindowProc(prevWndProc, hwnd, msg, wParam, lParam)
End If
End Function
'*************************************************************************
'**主要函数
'*************************************************************************
Public Sub TxtDoubleClickMassage(Frm As Form)
Dim i As Integer
For i = 0 To 9 '
'区分符号
prevWndProc = GetWindowLong(Frm.txtKairo(i).hwnd, GWL_WNDPROC)
SetWindowLong Frm.txtKairo(i).hwnd, GWL_WNDPROC, AddressOf WndProc
'名称1
prevWndProc = GetWindowLong(Frm.txtIkisaki1(i).hwnd, GWL_WNDPROC)
SetWindowLong Frm.txtIkisaki1(i).hwnd, GWL_WNDPROC, AddressOf WndProc
'名称2
prevWndProc = GetWindowLong(Frm.txtIkisaki2(i).hwnd, GWL_WNDPROC)
SetWindowLong Frm.txtIkisaki2(i).hwnd, GWL_WNDPROC, AddressOf WndProc
Next
End Sub
分享到:
相关推荐
开源(VB代码):实现TextBox不同文字颜色VB代码.zip
vb textbox右键粘贴无效 信息拦截
VB文本垂直居中,主要是为了补TEXTBOX不能垂直居中的不足
VB api编程模块TextBox密码控件代码VB api password TextBox control code programming model
一个API使用实例,用VB移除TextBox文本框固有的右键信息,并自定义你喜欢的右键菜单,可上边的截图,这个功能还是很实用的。
VB6.0_屏蔽TextBox右键菜单 VB6 屏蔽TEXT右键菜单
自己用TextBox的记事本。供刚学VB的新手们参考参考
VB 在TextBox中设置新的系统功能菜单,在文本1按滑鼠右键弹出新的系统功能菜单;在文本2会出现默认的系统功能菜单。两者有着本质区别。
VB 实现TextBox中只能输入中文(正则表达式应用).rar )
VB文本框突破64k限制
移除TextBox控件系统菜单VB源码移除TextBox控件系统菜单VB源码
vb控件textbox背景透明textbox背景透明
VB读书器,可以增大字体,减小字体,控制对象为TextBox,只需点击对应的按钮,就可加大缩小TextBox中的字体,本例主要是学习FontSize方法的使用,如何在需要控制的文本框中应用此方法,编写字符或文字处理程序时候...
挺好的,12345678901112131415
一个关于VB.NET中TEXTBOX绑定数据库的问题(未完)
vb读取txt文件到textbox
VB支持背景图像的TextBox漂亮文本框控件
textbox属性
精彩编程与编程技巧-用VB快速读取TextBox第N行的数据 ...
如题 用vb 做超精简计算器 只需一个textbox控件就可以搞定 数字全键盘输入 自动计算 用法 新建工程 添加一个text控件 在text的KeyPress事件下 粘贴代码即可