テキストボックスへの文字入力をバイト数で制限する

解決


ヒロ  2004-05-03 16:20:33  No: 113007

はじめまして、いつも大変お世話になってます。
VB6でテキストボックスへの文字入力をバイト数で制限する方法を
お尋ねします。単なる
「制限バイト数を超えた入力は受け付けないテキストボックス」
が出来ずに悩んでます。
APIを使わない方法をご存知でしたら、どうか教えてください。


いな  2004-05-05 12:20:15  No: 113008

KeyPressイベント、KeyDownイベントで
Lenを計算し、制限を越えていたら、0にすればよいと思います。

ちなみにImputManのimTextを使えばMaxLengthに値をいれるだけで済みます。


銀河系軍団  2005-08-16 13:23:51  No: 113009

私も同じところで  詰まっております。
テキストボックスに  41バイト以上は入力できないようにしたいのですが

Private Sub txtNm_KeyPress(KeyAscii As Integer)

    txtNm.Locked = False

    If LenB(txtNm.Text) <= 40 Then
        
        txtNm.Locked = False

    ElseIf LenB(txtNm.Text) > 40 Then

        txtNm.Locked = True

    End If

End Sub

これだと  うまくいきません。
どうすればいいでしょうか?


銀河系軍団  2005-08-16 14:54:56  No: 113010

これでうまくいきました。

Private Sub txtNm_KeyPress(KeyAscii As Integer)

    'バックスペースキーが押下された場合
    If KeyAscii = vbKeyBack Then
            
        'バックスペースを認識させる
        KeyAscii = vbKeyBack
    
    '氏名テキストに40バイト以上の文字列を入力した場合
    ElseIf LenB(StrConv(txtNm.Text, vbFromUnicode)) >= 40 Then

        '入力不可
        KeyAscii = 0
        
    End If

End Sub


dark  2005-08-16 19:38:15  No: 113011

> 銀河系軍団さん

スレ主でないのに解決チェックをしないでください。
あなたは解決したけど、質問した本人は解決していないかもしれないですので。


通ってみた  2005-08-16 20:21:10  No: 113012

夏ですのぅ・・・


いな  2005-08-16 20:29:29  No: 113013

しかし、古臭いスレを見つけてみたもんだなぁ〜
スレ主結局あの後放置だったのねん


通ってみた  2005-08-16 23:03:08  No: 113014

多いよねぇ自分がよければいいっていう質問者って


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加