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

解決


ヒロ  2004-05-04 01:20:33  No: 113007

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


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

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

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


銀河系軍団  2005-08-16 22: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 23: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-17 04:38:15  No: 113011

> 銀河系軍団さん

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


通ってみた  2005-08-17 05:21:10  No: 113012

夏ですのぅ・・・


いな  2005-08-17 05:29:29  No: 113013

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


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

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


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

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






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