VB入门技巧50例(一)

豆豆网   技术应用频道   2007年05月18日    社区交流

本文详细介绍VB入门技巧50例(一)

  希望大家好好看看,好多吧里的问题这里都能找到答案,资料是我从网络中搜集来的,今天先发上来一些,希望大家能够从中学到些东西

  1. 如何消除textbox中按下回车时的beep声?

Private Sub Text1_KeyPress(KeyAscii As Integer)
 If KeyAscii = 13 Then
   KeyAscii = 0
 End If
End Sub

  2.Textbox获得焦点时自动选中。

Private Sub Text1_GotFocus()
 Text1.SelStart = 0
 Text1.SelLength = Len(Text1.Text)
End Sub

  3.屏蔽textbox控件自身的右键菜单,并显示自己的菜单。

  方法一:

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y _
As Single)
  If Button = 2 Then
   Text1.Enabled = False
   Text1.Enabled = True
   PopupMenu mymenu
  End If
End Sub

  方法二:回调函数

module:
Option Explicit
Public OldWindowProc As Long ' 保存默认的窗口函数的地址
Public Const WM_CONTEXTMENU = &H7B ' 当右击文本框时,产生这条消息
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
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
Public Function SubClass_WndMessage(ByVal hWnd As Long, ByVal Msg As Long, ByVal wp _
As Long, ByVal lp As Long) As Long
' 如果消息不是WM_CONTEXTMENU,就调用默认的窗口函数处理
If Msg <> WM_CONTEXTMENU Then
  SubClass_WndMessage = CallWindowProc(OldWindowProc, hWnd, Msg, wp, lp)
  Exit Function
End If
SubClass_WndMessage = True
End Function

  窗体中:

责编:豆豆技术应用

正在加载评论...