我们都知道在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(Visual Basic)编程环境中,我们经常使用TextBox控件来显示或接收用户输入的文本。TextBox控件在默认情况下,其文字是水平居中的,但不支持直接的垂直居中对齐。针对这个特点,开发者们通常需要通过一些技巧来...
在VB(Visual Basic)编程中,常常需要对控件进行自定义以满足特定需求,比如在TextBox中显示不同颜色的文字。TextBox通常是用户输入文本的简单控件,但在某些情况下,我们可能希望根据文本内容的不同部分展示不同的...
总结来说,VB中移除TextBox文本框的默认右键菜单并自定义右键菜单,主要涉及以下几个步骤: 1. 引入并声明必要的API函数。 2. 在窗体加载时,使用`SetWindowLong`函数替换TextBox的窗口过程。 3. 定义新的窗口过程...
在VB.NET编程环境中,开发一个具有背景图片功能的TextBox控件可以增强用户界面的美观性和交互性。这个程序名称为“带背景的Textbox源码”,是利用Visual Studio 2008开发的,并且完全使用VB.NET语言编写。通过创建...
在VB(Visual Basic)编程中,TextBox控件是用于用户输入文本的标准组件。在某些情况下,我们可能需要创建一个密码输入框,以隐藏用户输入的内容,确保数据的安全性。这通常用于登录界面或其他需要保护敏感信息的...
【VB用TextBox做的记事本】是一个简单的编程项目,它使用Visual Basic(VB)的基本控件TextBox来模拟一个基本的文本编辑器,适用于初学者学习和理解VB编程基础。在这个项目中,TextBox作为主要的输入和显示文本的...
在VB.NET编程环境中,开发人员有时需要根据特定需求对控件进行自定义,TextBox就是其中之一。TextBox是.NET Framework中常用的一个控件,用于输入和显示文本。然而,标准的TextBox可能无法满足所有复杂的业务场景,...
在VB(Visual Basic)编程中,我们经常遇到需要限制用户在文本框(TextBox)中输入特定类型数据的情况。本教程将详细介绍如何通过正则表达式实现只允许用户在TextBox控件中输入中文字符的功能。正则表达式是一种强大...
具体代码中,`DisableAbility`函数用于挂接自定义的窗口过程,以便我们可以拦截和处理特定的消息。而`WndProc`函数是自定义窗口过程,它会根据接收到的消息类型进行处理,例如忽略非回车键的WM_CHAR消息和处理WM_...
在VB(Visual Basic)编程中,标准的TextBox控件有一个内置的限制,即它最多只能显示64KB的文本。这个限制可能在处理大量数据或需要用户输入长文本的场景下显得不足。不过,通过一些技巧,我们可以绕过这个限制,...
在VB6.0编程环境中,TextBox控件是用于输入文本的常见组件,用户可以通过鼠标右键点击TextBox来触发右键菜单,这在某些情况下可能不希望出现,比如为了防止用户误操作或者保护程序的特定功能。本文将详细介绍如何在...
VB 在TextBox中设置新的系统功能菜单,在文本1按滑鼠右键弹出新的系统功能菜单;在文本2会出现默认的系统功能菜单。两者有着本质区别。
在探讨“vb信息拦截”这一主题时,我们深入解析了如何在Visual Basic(简称VB)环境中,通过修改窗口过程(WndProc)来实现对特定消息的拦截与处理,特别是针对文本框(Textbox)的粘贴功能。这个技术点对于那些需要...
例如,如果你只想拦截TextBox的键盘输入,可以在TextBox控件的KeyDown事件中编写代码。 另外,VB还支持全局键盘钩子(Global Keyboard Hooks)。通过使用SetWindowsHookEx函数,我们可以创建一个系统级的键盘钩子,...
在.NET Framework中,C#和VB.NET都是常用的编程语言,用于开发Windows桌面应用程序。在这些应用中,文本框(TextBox)是用户界面中常见的控件,用于接收和显示文本输入。有时,我们希望文本框能根据其中的字符串长度...
VB读书器,可以增大字体,减小字体,控制对象为TextBox,只需点击对应的按钮,就可加大缩小TextBox中的字体,本例主要是学习FontSize方法的使用,如何在需要控制的文本框中应用此方法,编写字符或文字处理程序时候...
标题“VB支持背景图像的TextBox漂亮文本框控件.rar”表明这是一个关于如何在VB中实现带背景图片的文本框的资源包。 描述中的“VB支持背景图像的TextBox漂亮文本框控件”进一步确认了这个资源是用于创建具有背景图的...
在VB(Visual Basic)编程环境中,我们经常使用TextBox控件来接收用户输入的数据。TextBox控件默认具有系统菜单,这包括最大化、最小化和关闭按钮等,这些菜单使得控件在某些情况下可能不符合设计需求。当需要创建一...
在VB.NET编程环境中,数据绑定是一项关键功能,它允许开发者将UI控件,如TEXTBOX,与数据库中的数据源关联起来,实现数据的实时显示、编辑和保存。在这个特定问题中,开发者可能遇到了在TEXTBOX控件与数据库交互时的...
### 使用VB创建超精简计算器:仅需一个Textbox控件 在编程领域中,使用简单的控件实现功能强大的工具是一项非常有趣的挑战。本篇文章将详细介绍如何利用Visual Basic(简称VB)仅通过一个Textbox控件来制作一个超...