ダイアログに色を付けたい(VC6→VS2005への移植)

解決


zip  2007-07-27 22:51:16  No: 65854

VC6を利用していた際に、
ダイアログベースのアプリを作成しています。
このダイアログに色を付けたいと思い、
VC6のときは、プロジェクト名.cppファイル内のInitInstance()に
SetDialogBkColor( RGB(0xFF,0x00,0x00),RGB(0x00,0x00,0x00));
として実現させていました。

今回VS2005(VC)への移植の際に、この処理が上手く実行されていないようで、
ダイアログに色が付きませんでした。
そこで、ダイアログを作っているファイル内のOnCtlColor(・・・)内で
ブラシを作り色を変えてやれば実現できましたが、このダイアログから呼び出す
別のダイアログにも同様に色を付けたいのです。
おそらく呼び出すダイアログでも、そのファイルのOnCtlColor内を弄れば実現できそうですが、
一括で変える方法を探しています。そのような方法はあるでしょうか?


Blue  2007-07-27 23:06:39  No: 65855

>今回VS2005(VC)への移植の際に、この処理が上手く実行されていないようで、
>ダイアログに色が付きませんでした。
MSDNに明に使えないことが書かれています。

>別のダイアログにも同様に色を付けたいのです。
>おそらく呼び出すダイアログでも、そのファイルのOnCtlColor内を弄れば実現できそうですが、
>一括で変える方法を探しています。そのような方法はあるでしょうか?
CDialogを既定クラスにしてOnCtlColorだけの処理をするクラスを作成し、
それを今現在 CDialogを既定クラスとしているクラスの既定クラスに変更してしまうのは
どうでしょうか?


Blue  2007-07-27 23:07:26  No: 65856

>MSDNに明に使えないことが書かれています。
URIを貼り忘れました。
http://msdn2.microsoft.com/ja-jp/library/6ewfs20c(VS.80).aspx


zip  2007-07-28 00:46:51  No: 65857

>>Blueさん
返答ありがとうございます。
なるほど使えなくなったのですね。

既定クラスの変更と、各ダイアログへの変更。
どちらが手間かを検討して実装してみます。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加