-PR-
解決済み

VB5でTextBoxを入力不可能にする方法は?

  • 困ってます
  • 質問No.15007
  • 閲覧数141
  • ありがとう数6
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 92% (106/115)

VisualBasic5で開発を行っているのですが、TextBoxの入力を不可能にする(入力カーソルもそこに移動できない)必要が出てきました。
もちろんEnabledプロパティをFalseにする方法があるのですが、この場合文字の色がグレーに変わってしまいます。
また、Labelを使用するパターンも「入力出来たり、入力不可にする」という取り決めがあるので、使えません。
TextBox内の文字色(BackColorも)をそのままにして、入力を拒絶する方法があれば、どなたか教えてください。
もちろんAPIを使用する方法でもかまいませんので…
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル4

ベストアンサー率 100% (2/2)

確かにTextBoxのEnabledプロパティではFalseに設定した場合に薄れて見づらくなりますね。
標準ToolBoxの中にFrameオブジェクトというものがありますがご存知でしょうか?
このFrameオブジェクトの上にTextBoxを配置し、
入力の可否をTextBoxのプロパティでは無くFrameのプロパティで行ってみて下さい。
入力は出来なくなり文字の色も変化しませんよ。
お礼コメント
fdh26

お礼率 92% (106/115)

なるほどです!Frameを使ってOptionButtonのグループ分けをして、Frameごと設定不可にしたことはあるのに、この方法は全く思い付きませんでした。私も頭が固すぎます。今後ともよろしくお願いいたします。
投稿日時 - 0000-00-00 00:00:00
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 28% (10/35)

TextBoxをFrameの上に置いてFrameのEnabledプロパティを
変更してはいかがですか?
お礼コメント
fdh26

お礼率 92% (106/115)

なるほど、目から鱗! コロンブスの卵です。
やってみると快適快適! 分厚いAPIの本を読みながら試行錯誤していた日々が空しく思えます。
早速使ってみます!
投稿日時 - 0000-00-00 00:00:00

  • 回答No.3
レベル11

ベストアンサー率 50% (173/345)

ピクチャーコントロールやフレームコントロール等のコンテナコントロールの上に子コントロールとしてテキストボックスを貼りつけ、テキストボックスではなく、コンテナ側の Enabled を False にすれば、文字色は単色表示されずに入力不可にすることができます。
BorderStyleをなしにすればコンテナの上に載ってるとは見た目上見えません。
また、複数のテキストボックスをまとめて入力不可にするときは、1つのコンテナに複数のテキストボックスを配置すれば、リソースの節約もできOKです。

他に、TabStop = False にして、Lockedプロパティを使用する方法もありますが、それだとTab移動ではフォーカスはとばされますが、クリックではフォーカスを得てしまいますね。
お礼コメント
fdh26

お礼率 92% (106/115)

早速の御回答ありがとうございます。私もTabStopを使って、クリックでのフォーカスの移動は半ば強制的に以前の場所に戻すようにしてたのですが、このような簡単な方法があるとは"目から鱗"状態です。大変役立ちました。ありがとうございました。
投稿日時 - 0000-00-00 00:00:00
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ