[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/02/07(Tue) 10:51
投稿者名:べた
Eメール:
URL :
タイトル:
テキストボックスで指定文字以降入力付不可に
テキストボックスに指定文字以降を入力不可としたいのですが
可能なのでしょうか。

例えば、
yamada.taro@test.co.jp
と入力されていたとします。
このとき、@より以降を編集及び入力不可にしたいのです。
つまりは、@より前のみ編集可能にしたいのですができるの
でしょうか。
また、入力されていない場合、0バイトの場合は、チェック
が掛からないようにしたいのです。
良い方法を教えて下さい。

投稿時間:2006/02/07(Tue) 12:12
投稿者名:ダンボ
URL :
タイトル:
Re: テキストボックスで指定文字以降入力付不可に
> テキストボックスに指定文字以降を入力不可としたいのですが可能なのでしょうか。

何通りか考えられますが、大きくは
・Changeイベントでチェックする
  メリット:1文字入力の度にチェックできる
・Validateイベントでチェックする
  メリット:入力完了時にチェックできる
のどちらかで実現するのが妥当だと思います。(自分でチェックロジックは書く)

投稿時間:2006/02/07(Tue) 12:27
投稿者名:とも
Eメール:
URL :
タイトル:
Re^2: テキストボックスで指定文字以降入力付不可に
KeyPressイベントにてキャレットの位置をSelStartで取得し、その位置が指定文字より後ろなら
入力をキャンセルするとか。
ただし矢印キーぐらいは受け付けないと不便かも

もっと簡単にするならテキストボックスとその後ろにラベルを貼り付け@以降をラベルに表示すれば
余計なチェックをせずに済むような気がしますが。

投稿時間:2006/02/07(Tue) 12:33
投稿者名:
Eメール:
URL :
タイトル:
Re: テキストボックスで指定文字以降入力付不可に
> このとき、@より以降を編集及び入力不可にしたいのです。
> つまりは、@より前のみ編集可能にしたいのですができるのでしょうか。
例えば"|"をキャレットの位置として、
 ab|c@hoge.jp
の状態で、"@"を入力できるなら、
 ab@|c@hoge.jp
になりますよね。
リアルタイムに編集可/不可能を制御するとなると、こういった例外を全て列挙しなくてはなりません。
その辺は済んでいますか?

> また、入力されていない場合、0バイトの場合は、
> チェックが掛からないようにしたいのです。
> 良い方法を教えて下さい。
えーっと…「未入力も可」ということは、
必然的に、「@以降は自力で入力してください」ということですよね?
これは禁則なのでは?

投稿時間:2006/02/07(Tue) 12:44
投稿者名:べた
Eメール:
URL :
タイトル:
Re: テキストボックスで指定文字以降入力付不可に
ありがとうございます。

最初は、テキストボックスには何も入力されていない状態で、
yamada.taro@test.co.jp
の入力を受け付けます。

その後、再度、テキストボックスを表示すると、
yamada.taro@test.co.jp
が表示されるので、
「@」より前のみを編集可能としたいのです。
「@」より以降、@test.co.jpは、編集不可や、
最後に文字の追加もできなようにしたいのです。

便利な関数、機能があればと思ったのですが、

投稿時間:2006/02/07(Tue) 12:58
投稿者名:
Eメール:
URL :
タイトル:
Re^2: テキストボックスで指定文字以降入力付不可に
> ありがとうございます。
>
> 最初は、テキストボックスには何も入力されていない状態で、
> yamada.taro@test.co.jp
> の入力を受け付けます。
第一段階では?*@?[^@]*に任意に入力可能で、

> その後、再度、テキストボックスを表示すると、
> yamada.taro@test.co.jp
> が表示されるので、
ここでyamada.taroは@を入力できないようにしたテキストボックス、
「@test.co.jp」以降はラベル。
で良い様な気がしますが…?

投稿時間:2006/02/07(Tue) 13:03
投稿者名:K.J.K.
Eメール:akiya@koalanet.ne.jp
URL :
タイトル:
Re: テキストボックスで指定文字以降入力付不可に
RichTextBoxコントロールにはSelProtectedプロパティがありますよね。

投稿時間:2006/02/07(Tue) 15:38
投稿者名:べた
Eメール:
URL :
タイトル:
Re^2: テキストボックスで指定文字以降入力付不可に
> RichTextBoxコントロールにはSelProtectedプロパティがありますよね。

ありがとうございます。

RichTextBoxは使えそうですね。
テキストボックスからリッチテキスト ボックス に変更できないんです。

皆さんから教えて頂いた方法で試してみます。