- 締切済み
Enabled=Falseのテキストボックスの文字の色
VB6です。 テキストボックスで、Enabled=Falseに設定されているものについては、基本的にグレーアウトで表示されると思いますが、そのままの設定で色だけを変更する方法はあるのでしょうか。 なければ、ないでいいのですが、もしあれば便利だと思いましたので、ご存知でしたら教えてください。 なお、テキストボックスではなく、ラベルを使いなさいというのはできません。 処理がめんどくさいので、すべてをコントロール配列にして一度ですべての処理をさせたいからです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- JeanneNet
- ベストアンサー率48% (100/208)
こんにちは、じゃんぬねっと です。 > ※入力はできませんが、「右クリック→貼り付け」はできてしまいます。 SP6 からはできません。 Frame コントロールなどのコンテナを利用することで、 文字色が変わるのは防ぐことができます。 # ただし、VB2002 以降では、コンテナの Enabled に影響されるためできません。
- anmochi
- ベストアンサー率65% (1332/2045)
処理が面倒・・・・ねぇ・・・・。 例えば、フレームを作ってその中にテキストボックスを置き、フレームを無効にするとか。
お礼
お返事ありがとうございます。 Lineで枠を作った中に配置していますので、少し無理があります。 余計に面倒になったかも知れませんが、Got_Focusイベントを使って強制的に別のコントロールに飛ばすことで解決しました。 ありがとうございました。
- chihi_rok
- ベストアンサー率20% (1/5)
お気に召すかわかりませんが、このような方法があります。 1.Enable=Falseを設定した後に 「BackColor = &H80000005(通常のテキストボックスの背景色)」 を設定する。 ※文字はグレーのままです。 2.「Enable=False」ではなく、「Locked = True」の設定をする。 ※入力はできませんが、「右クリック→貼り付け」はできてしまいます。 いかがでしょうか?
お礼
お返事ありがとうございます。 「Locked = True」も考えたのですが、仰るとおり貼り付けができてしまいますよね。 とにかく変更させたくないということで、結局さらに面倒かもしれませんが、got_focusイベントを使って強制的に別のコントロールにフォーカスを移して入力できないようにしました。 ありがとうございました。
お礼
お返事ありがとうございます。 SP6からはできないのですか。 当方はすべてサービスパックは適用しているはずですができてしまいます。 もしかしたら、SP6の適用ができていないのかも知れませんね。 got_focusイベントで強制的に別のコントロールに飛ばすことにより入力できなくしました。取り合えづこの方法でなんとかなりそうですので、結局面倒になったかもしれませんが解決しました。 ありがとうございました。