はじめまして、いつも大変お世話になってます。
VB6でテキストボックスへの文字入力をバイト数で制限する方法を
お尋ねします。単なる
「制限バイト数を超えた入力は受け付けないテキストボックス」
が出来ずに悩んでます。
APIを使わない方法をご存知でしたら、どうか教えてください。
KeyPressイベント、KeyDownイベントで
Lenを計算し、制限を越えていたら、0にすればよいと思います。
ちなみにImputManのimTextを使えばMaxLengthに値をいれるだけで済みます。
私も同じところで 詰まっております。
テキストボックスに 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
これだと うまくいきません。
どうすればいいでしょうか?
これでうまくいきました。
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
> 銀河系軍団さん
スレ主でないのに解決チェックをしないでください。
あなたは解決したけど、質問した本人は解決していないかもしれないですので。
夏ですのぅ・・・
編集 削除しかし、古臭いスレを見つけてみたもんだなぁ〜
スレ主結局あの後放置だったのねん
多いよねぇ自分がよければいいっていう質問者って
編集 削除