プロが教える店舗&オフィスのセキュリティ対策術

VB6です。
テキストボックスで、Enabled=Falseに設定されているものについては、基本的にグレーアウトで表示されると思いますが、そのままの設定で色だけを変更する方法はあるのでしょうか。

なければ、ないでいいのですが、もしあれば便利だと思いましたので、ご存知でしたら教えてください。

なお、テキストボックスではなく、ラベルを使いなさいというのはできません。

処理がめんどくさいので、すべてをコントロール配列にして一度ですべての処理をさせたいからです。

A 回答 (3件)

お気に召すかわかりませんが、このような方法があります。



1.Enable=Falseを設定した後に
 「BackColor = &H80000005(通常のテキストボックスの背景色)」
を設定する。

※文字はグレーのままです。

2.「Enable=False」ではなく、「Locked = True」の設定をする。

※入力はできませんが、「右クリック→貼り付け」はできてしまいます。

いかがでしょうか?
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
「Locked = True」も考えたのですが、仰るとおり貼り付けができてしまいますよね。

とにかく変更させたくないということで、結局さらに面倒かもしれませんが、got_focusイベントを使って強制的に別のコントロールにフォーカスを移して入力できないようにしました。

ありがとうございました。

お礼日時:2005/05/27 12:35

こんにちは、じゃんぬねっと です。



> ※入力はできませんが、「右クリック→貼り付け」はできてしまいます。

SP6 からはできません。

Frame コントロールなどのコンテナを利用することで、
文字色が変わるのは防ぐことができます。

# ただし、VB2002 以降では、コンテナの Enabled に影響されるためできません。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
SP6からはできないのですか。
当方はすべてサービスパックは適用しているはずですができてしまいます。

もしかしたら、SP6の適用ができていないのかも知れませんね。

got_focusイベントで強制的に別のコントロールに飛ばすことにより入力できなくしました。取り合えづこの方法でなんとかなりそうですので、結局面倒になったかもしれませんが解決しました。

ありがとうございました。

お礼日時:2005/05/27 12:49

処理が面倒・・・・ねぇ・・・・。



例えば、フレームを作ってその中にテキストボックスを置き、フレームを無効にするとか。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

Lineで枠を作った中に配置していますので、少し無理があります。

余計に面倒になったかも知れませんが、Got_Focusイベントを使って強制的に別のコントロールに飛ばすことで解決しました。

ありがとうございました。

お礼日時:2005/05/27 12:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A