转载-VB中禁用文本框右键菜单等功能

‘==========================================================
‘| 模 块 名 | TextBoxDisableAbility
‘| 说  明 | 禁止文本框的功能
‘==========================================================Option Explicit
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private 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
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_WNDPROC = (-4)
Private Const WM_CUT = &H300 ‘-------------剪切消息
Private Const WM_COPY As Long = &H301 ‘-------------复制消息
Private Const WM_PASTE As Long = &H302 ‘-------------粘贴消息
Private Const WM_CLEAR = &H303 ‘-------------删除消息[右键菜单的删除]
Private Const EM_UNDO = &HC7 ‘-------------撤销消息
Private Const WM_CONTEXTMENU = &H7B ‘-------------右键菜单
Private prevWndProc   As Long
Private Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Select Case Msg
  Case WM_CUT, WM_COPY, WM_PASTE, WM_CLEAR, EM_UNDO, WM_CONTEXTMENU
    ‘这里处理自定义的事件,最好为空
  Case Else
    ‘回调系统函数处理
    WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam)
  End Select
End Function
Public Sub DisableAbility(TargetTextBox As TextBox)
  ‘程序启动时调用这个
  prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC)
  SetWindowLong TargetTextBox.hwnd, GWL_WNDPROC, AddressOf WndProc
End Sub

  

时间: 2024-09-30 14:24:02

转载-VB中禁用文本框右键菜单等功能的相关文章

【VB.NET】文本框快捷键支持

我们知道VB.NET中的文本框是不支持Ctrl+A的快捷键的. 如果让它支持呢? 1 Private Sub txtSQL_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtSQL.KeyDown 2 If e.KeyCode = Keys.A AndAlso (e.KeyData And Keys.Control) Then 3 '全选 4 txtSQL.Select

禁用页面的右键菜单

<textarea id="mytextarea"></textarea> <script> $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); </script> 禁用页面的右键菜单

20140527-在jQuery中设置文本框回车事件

20140527-在jQuery中设置文本框回车事件 该代码要完成的效果是,用户在文本框输入完毕以后,按下回车键,立即触发"搜索"的单击事件. 例如: $("#search_user_name").keydown(function (e) {         // search_user_name为文本框ID         var curKey = e.which;         if (curKey == 13) {             // search

Asp.net中使用文本框的值动态生成控件的方法

这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个"花"字,点一下"生成"按钮,就会在下面生成一个checkbox,它的text属性是"花".再输入一个"鸟",点一下按钮,就会生成第二个checkbox控件,text属性是"鸟"... Insus.NET的解决方法

Rdlc技巧,rdlc报表中获取文本框或某个表格单元格中的内容

在RDLC报表中,随意摆放的控件,排列看起来很整齐,但是生成WEB后看就不是很友好了,导出PDF可能又是一个样, 解决这个办法就是把这些摆放在一个容器内,比如Table 内 用ReportItems这个属性来取value值.细节如下 =ReportItems!textbox1.Value + ReportItems!textbox12.Value 注意,页头页脚可以取Body里的值,但是Body里不可以取页头与页脚的值 Rdlc技巧,rdlc报表中获取文本框或某个表格单元格中的内容

word中创建文本框

word中创建文本框         在插入中点击"文本框"选项卡,如下图所示:        手工添加自己想要的文本框格式,然后选择所创建的文本框,在工具栏处会发现多了一个"格式"选项卡,点击,可以对文本框进行设置,如外观的纹理等等,如下图所示: word中创建文本框

jquery禁用文本框

禁用文本框 //文本框禁用 $("input[type='text']").each(function () { $("#" + this.id).attr("disabled", true); }); 启用文本框 //文本框启用 $("input[type='text']").each(function () { $("#" + this.id).removeAttr("disabled&quo

cell中的文本框————bug

根据要求需要制作一个报表,我一UItableView为主体,自定义cell,在cell中添加文本框以便输入相应字段, 要求:1,当我们改变表格对应行的内容时会自动计算相应列的总和[相信大家用过Excel 原理差不多了] 我再文本框失去焦点时,调用代理方法通知UItableView的页面进行计算并刷新数据源和表格 bug:导致文本框不能正常的获取焦点,但我们页面上已经有获取焦点的文本框时,又去点击另外的文本框,此时新的文本框不能获取焦点,但会弹出键盘,且键盘无法收起,通过监听文本框的代理发项,文本

实现:C#窗体中的文本框只能输入中文汉字,其他输入无效。问:正则表达式怎么用?

原文:实现:C#窗体中的文本框只能输入中文汉字,其他输入无效.问:正则表达式怎么用? private void textBox1_KeyPress(object sender, KeyPressEventArgs e) ? ? ? ? { ? ? ? ? ? ? Regex rg = new Regex("^[\u4e00-\u9fa5]$"); ? ? ? ? ? ? if (!rg.IsMatch(e.KeyChar.ToString()) && e.KeyChar