精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..API 函数使用..〓〓>>窗体和显示相关>>用API控制文本框的输入,与大家共享!

主题:用API控制文本框的输入,与大家共享!
发信人: sealink()
整理人: winsy(2003-03-05 15:56:15), 站内信件
用API控制文本框的输入,与大家共享!
在一网站上看到一段代码,使文本框只接受数字(0~9)比较简单,
后来又把其引申为使输入字符在文本框中显示为大写。
注:常量ES_NUMBER在帮助和API VIEWER中找不到。
Private Const GWL_STYLE = (-16)
Public Const ES_NUMBER = &H2000  '接受数字
Public Const ES_UPPERCASE = &H8& '输入大写

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLo
ngA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLo
ngA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Lon
g) As Long

Dim lngHwnd As Long
Dim lngReturn As Long

'使文本框只接受数字(0~9)
lngHwnd = GetWindowLong(Text1.hwnd, GWL_STYLE)
lngReturn = SetWindowLong(Text1.hwnd, GWL_STYLE, lngHwnd Or ES_NUMBER)


'使输入字符在文本框中显示为大写
lngHwnd = GetWindowLong(Text1.hwnd, GWL_STYLE)
lngReturn = SetWindowLong(Text1.hwnd, GWL_STYLE, lngHwnd Or ES_UPPERCA
SE)

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.45.80]

[关闭][返回]