Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Intermediate
Apr 28, 2003

ForceTextBoxNumeric - Force a TextBox control to accept only numeric digits

<System.Runtime.InteropServices.DllImport("user32")> Shared Function _
    GetWindowLong(ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer
End Function

<System.Runtime.InteropServices.DllImport("user32")> Shared Function _
    SetWindowLong(ByVal hWnd As Integer, ByVal nIndex As Integer, _
    ByVal dwNewLong As Integer) As Integer
End Function

' Force a TextBox control to accept only numeric digits
' Cancel the effect by passing Force = False
'
' Note that it only accepts positive integer values

Sub ForceTextBoxNumeric(ByVal ctl As TextBox, Optional ByVal force As Boolean = _
    True)
    Const GWL_STYLE = (-16)
    Const ES_NUMBER = &H2000

    ' get current style
    Dim style As Integer = GetWindowLong(ctl.Handle.ToInt32(), GWL_STYLE)
    If force Then
        style = style Or ES_NUMBER
    Else
        style = style And Not ES_NUMBER
    End If
    ' enforce new style
    SetWindowLong(ctl.Handle.ToInt32(), GWL_STYLE, style)
End Sub
Marco Bellinaso
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap