使用Windows API,如下:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Sub Form_Load()
Dim OldStyle As Long
OldStyle = GetWindowLong(Text1.hwnd, GWL_STYLE)
OldStyle = OldStyle Or ES_UPPERCASE
SetWindowLong Text1.hwnd, GWL_STYLE, OldStyle
End Sub
转换大小写以前别人写过另一种做法
小写
Private Sub Text1_Change()
Dim I As Integer
Dim lngChar As Long
Dim strTemp As String
For I = 1 To Len(Text1.Text)
lngChar = Asc(Mid(Text1.Text, I, 1))
If lngChar >= 65 And lngChar <= 90 Then
strTemp = strTemp & Chr(lngChar + 32)
Else
strTemp = strTemp & Chr(lngChar)
End If
Next
Text1.Text = strTemp
end sub
是不是也挺灵活!
转换大写:
Private Sub Text1_Change()
Dim I As Integer
Dim lngChar As Long
Dim strTemp As String
For I = 1 To Len(Text1.Text)
lngChar = Asc(Mid(Text1.Text, I, 1))
If lngChar >= Asc("a") And lngChar <= Asc("z") Then
strTemp = strTemp & Chr(lngChar - 32)
Else
strTemp = strTemp & Chr(lngChar)
End If
Next
Text1.Text = strTemp
Text1.SelStart = Len(strTemp)
End Sub
你们这帮人搞这么麻烦干吗,怕显不出自己水平?别忘了编程的宗旨:简单+实用。
我很赞成mafangsan的方法,微软提供了那么多现成的函数,不用才傻瓜呢。
再一个简单的方法:
Private Sub Text1_Change()
Text1.Text = Format(Text1.Text,">") '转大写
End Sub
小写嘛,呵呵