none
コンボボックスの文字色について RRS feed

  • 質問

  • はじめて投稿させていただきます。

    現在、VB2005で開発をしているのですが、コンボボックスを無効にしつつ(Enabled = False)、文字色をグレー以外の色に変えたいのですが、何かいい方法はないでしょうか?

    PLCとの通信を行いながらテストを行うシステムを作成中なんですが、コンボボックスで選択した項目を元にテストを行い、テスト実行中はそのコンボボックスを選択できないようにしたいのです。
    ただ、無効にした場合に文字色がグレーになってしまうので見にくくなってしまいます。
    そこで、無効にした後の文字色を変更する方法がないか知りたいのです。

    どうかよろしくご教授ください。
    お願い致します。
    2007年3月22日 6:14

回答

すべての返信

  • 自分で描くしかないでしょう。以下にサンプルがあります。

    ComboBox - stopping it being "greyed" out when not enabled
    http://www.thescripts.com/forum/thread385066.html

    Changeing fore color of disabled combo box
    http://www.thescripts.com/forum/thread362450.html

    C#の例ですが、

    TdhComboBox - An Inherited ComboBox With ReadOnly Property
    http://www.codeproject.com/cs/combobox/TdhComboBox.asp


    代替案ですが、ComboBoxと同じ位置に、ReadOnlyなTextBoxを貼り付ける方法もあります。

    あとはComboBoxにやってくるいろんなメッセージをキャンセルするという方法もありますが、いろいろなパターンを考慮しなければならないので(F4とか、マウスの右クリックで貼り付けとか)、ちょっとややこしいかな?

    2007年3月22日 7:59
    モデレータ
  • 不具合込みですが、

    ReadOnlyComboBox クラス (wankuma.com)

    ご参考までに。

    2007年3月22日 9:07
  • trapemiaさん
    じゃんぬさん
    ご返信ありがとうございました!
    おかげさまで解決できました。


    自分自身まだまだ開発の経験が浅く、手探りで方法を探しながら開発しています。
    クラスの概念をある程度は理解しているつもりだったのですが、継承して新たなコントロールを作るという考えは思いつきもしませんでした・・・
    「ないなら作れ!」ですね^^

    これからももっと勉強して、お二人に追いつけるようにがんばります。

    本当にありがとうございました!!

    2007年3月23日 5:36