本帖最后由 WORLDMMDL 于 2010-04-23 22:12:44 编辑

解决方案 »

  1.   

    用富文本框,在selchange事件里处理
      

  2.   

    Option ExplicitDim flag As Boolean
    Private Sub Form_Load()
        flag = False
    End SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        flag = True
    End SubPrivate Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)    If flag = True And Text1.SelLength > 0 Then
            Dim start As Long
            Dim length As Long
            Dim text As String
            Dim i As Long
            start = Text1.SelStart
            length = Text1.SelLength
            text = Text1.SelText
            For i = 1 To length
                Dim c As Integer
                c = AscW(Mid$(text, i, 1))
                If Not (c > 48 And c <= 57) Then
                    Text1.SelLength = 0
                
                End If
            
            Next
            
            
        End If
    End SubPrivate Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
        flag = False
    End Sub
      

  3.   

    subclass 这个文本框。判断选中的内容,吃掉 WM_SELECT 消息。