INPUTBOXの背景色を変えるには?


ガブリアス  2009-05-17 12:50:26  No: 141948  IP: [192.*.*.*]

あるソフトにおいてINPUTBOXを多様しているのですが、
そのINPUTBOXの種類を間違えて誤操作してしまう事があるので
背景色を変えて区別したいと考えています。
通常はシステムの色を出しているようなのですが、
VB6.0側からこれを変更して表示させる事は可能でしょうか?
お手数をお掛けしますがよろしく御願いします。

編集 削除
太郎冠者  2009-05-18 02:05:04  No: 141949  IP: [192.*.*.*]

むり。
だと思う。
もしかしたら、頑張れば出来るのかも知れないけど、割に合わないと思う。

それっぽいFormを1個こさえるのが一番手っ取り早いよ。

編集 削除
熊谷隆史  2009-05-18 09:59:35  No: 141950  IP: [192.*.*.*]

SetClassLongとか。

編集 削除
ガブリアス  2009-05-19 22:53:55  No: 141951  IP: [192.*.*.*]

やはり無理っぽいですか、それっぽいFormをこさえる案は
出てましたが、可能なのかどうかがわからなかったので
ここで質問してみました。

ありがとうございました(一応未解決扱いにしときます)。

編集 削除
K.J.K.  2009-05-20 20:15:21  No: 141952  IP: [192.*.*.*]

面倒なだけで出来はしますよ。
CBTHook を仕掛けて、ダイアログのハンドルを得て、
それの DialogProc を摩り替えて WM_CTLCOLORDLG で
塗りつぶしたい色の HBRUSH を返すようにして、それ以外は
元の DialogProc を呼び出すようにし、使い終わったら
適切な終了処理を行えばいいでしょう。

但し、ここまでしてやるべきものとは思えません。

編集 削除