投稿日 | : 2003/07/18(Fri) 15:28 |
投稿者 | : nanashi |
Eメール | : |
URL | : |
タイトル | : Re: テキストボックスのバイト制限 |
> オプションボタンAが選択されている場合は
> テキストボックスに20バイトのみ文字の入力制限をかけて、
> オプションボタンBが選択されている場合は
> テキストボックスに40バイトのみ文字の入力制限をかけたいのです。
>
> APIを使用せずにこのような操作が可能かどうか、
> もし可能なら、そのヒントを受け賜りたいのですが、
VBはUNICODEなので全角も半角も2Byteですが、
もし半角文字を1Byteとみなすのなら、APIなしに実現するのは面倒だと思います。
StrConvとLenBを使えば現在何Byte入力されているかが分かります。
Changeイベントでこれをチェックして、入力がオーバーしている時は
全体が指定Byte以下になるまで カーソル位置より前の文字を消していきます。
(この処理をしている間はフラグでも立てて同じ処理を通らないようにしておきます。)
これで一応出来るとは思いますが、やはりAPIを使った方が遥かに簡単ですよ。