查看單個文章
舊 2009-06-29, 07:39 PM   #2 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9804小時 | 升級還需:192小時級別:97 | 在線時長:9804小時 | 升級還需:192小時級別:97 | 在線時長:9804小時 | 升級還需:192小時級別:97 | 在線時長:9804小時 | 升級還需:192小時級別:97 | 在線時長:9804小時 | 升級還需:192小時級別:97 | 在線時長:9804小時 | 升級還需:192小時級別:97 | 在線時長:9804小時 | 升級還需:192小時
註冊日期: 2002-12-07
文章: 13314
精華: 0
現金: 26367 金幣
資產: 3024227 金幣
預設

有個方式可以將 Textbox 限制只能輸入 "數字"

OnlyForTextBoxModule.bas
語法:
Option Explicit

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 Const ES_NUMBER = &H2000
Private Const GWL_STYLE = (-16)

'   只允許輸入數字:
Public Function NumbersOnly(tBox As TextBox)
Dim DefaultStyle As Long

    DefaultStyle = GetWindowLong(tBox.hWnd, GWL_STYLE)
    NumbersOnly = SetWindowLong(tBox.hWnd, GWL_STYLE, DefaultStyle Or ES_NUMBER)

End Function
如何使用,只要在 Private Sub Form_Load()裡加上
NumbersOnly TextBox1
就好了
mini 目前離線  
送花文章: 2006, 收花文章: 7984 篇, 收花: 26785 次
回覆時引用此帖