Public Const EM_LIMITTEXT = &HC5 Dim intret As Long intret = SendMessage(Text1.hwnd, EM_LIMITTEXT, 10, ByVal 0&)
你试试就知道了,考过来的自动截取private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long private Const EM_LIMITTEXT = &HC5Private Sub Command3_Click() Dim intret As Long intret = SendMessage(Text1.hwnd, EM_LIMITTEXT, 10, ByVal 0&) End Sub
解决方法: Private Sub Text1_Change() Const DefineLength = 6 '你允许录入的长度。 If LenB(StrConv(Text1.Text, vbFromUnicode)) > DefineLength Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) Text1.SelStart = Len(Text1.Text) End If End Sub
用maxLength挺好的嘛,干吗搞那么多啊,烦死了!
em_setlimittext我为什么查不到啊常量多少啊
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPublic Const EM_LIMITTEXT = &HC5Private Sub Form_Load() Const Max_Char = 100 Call SendMessage(Text1.hWnd, EM_LIMITTEXT, Max_Char, 0&) End Sub限制的就是字节数。
Dim intret As Long
intret = SendMessage(Text1.hwnd, EM_LIMITTEXT, 10, ByVal 0&)
private Const EM_LIMITTEXT = &HC5Private Sub Command3_Click()
Dim intret As Long
intret = SendMessage(Text1.hwnd, EM_LIMITTEXT, 10, ByVal 0&)
End Sub
我输入:人123-->它的混合长度是lenb((strconv("人123"),vbFromUnicode))=5
你们说我的maxlength设置成多少
另:发送em_setlimittext消息也有这样的问题,wparm你设置成多少啊
Private Sub Text1_Change()
Const DefineLength = 6 '你允许录入的长度。
If LenB(StrConv(Text1.Text, vbFromUnicode)) > DefineLength Then
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
Text1.SelStart = Len(Text1.Text)
End If
End Sub
Const Max_Char = 100
Call SendMessage(Text1.hWnd, EM_LIMITTEXT, Max_Char, 0&)
End Sub限制的就是字节数。