• 締切済み

Enabled=Falseのテキストボックスの文字の色

VB6です。 テキストボックスで、Enabled=Falseに設定されているものについては、基本的にグレーアウトで表示されると思いますが、そのままの設定で色だけを変更する方法はあるのでしょうか。 なければ、ないでいいのですが、もしあれば便利だと思いましたので、ご存知でしたら教えてください。 なお、テキストボックスではなく、ラベルを使いなさいというのはできません。 処理がめんどくさいので、すべてをコントロール配列にして一度ですべての処理をさせたいからです。

みんなの回答

  • JeanneNet
  • ベストアンサー率48% (100/208)
回答No.3

こんにちは、じゃんぬねっと です。 > ※入力はできませんが、「右クリック→貼り付け」はできてしまいます。 SP6 からはできません。 Frame コントロールなどのコンテナを利用することで、 文字色が変わるのは防ぐことができます。 # ただし、VB2002 以降では、コンテナの Enabled に影響されるためできません。

xiaolong_goo
質問者

お礼

お返事ありがとうございます。 SP6からはできないのですか。 当方はすべてサービスパックは適用しているはずですができてしまいます。 もしかしたら、SP6の適用ができていないのかも知れませんね。 got_focusイベントで強制的に別のコントロールに飛ばすことにより入力できなくしました。取り合えづこの方法でなんとかなりそうですので、結局面倒になったかもしれませんが解決しました。 ありがとうございました。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

処理が面倒・・・・ねぇ・・・・。 例えば、フレームを作ってその中にテキストボックスを置き、フレームを無効にするとか。

xiaolong_goo
質問者

お礼

お返事ありがとうございます。 Lineで枠を作った中に配置していますので、少し無理があります。 余計に面倒になったかも知れませんが、Got_Focusイベントを使って強制的に別のコントロールに飛ばすことで解決しました。 ありがとうございました。

回答No.1

お気に召すかわかりませんが、このような方法があります。 1.Enable=Falseを設定した後に  「BackColor = &H80000005(通常のテキストボックスの背景色)」 を設定する。 ※文字はグレーのままです。 2.「Enable=False」ではなく、「Locked = True」の設定をする。 ※入力はできませんが、「右クリック→貼り付け」はできてしまいます。 いかがでしょうか?

xiaolong_goo
質問者

お礼

お返事ありがとうございます。 「Locked = True」も考えたのですが、仰るとおり貼り付けができてしまいますよね。 とにかく変更させたくないということで、結局さらに面倒かもしれませんが、got_focusイベントを使って強制的に別のコントロールにフォーカスを移して入力できないようにしました。 ありがとうございました。

関連するQ&A