VC6を利用していた際に、
ダイアログベースのアプリを作成しています。
このダイアログに色を付けたいと思い、
VC6のときは、プロジェクト名.cppファイル内のInitInstance()に
SetDialogBkColor( RGB(0xFF,0x00,0x00),RGB(0x00,0x00,0x00));
として実現させていました。
今回VS2005(VC)への移植の際に、この処理が上手く実行されていないようで、
ダイアログに色が付きませんでした。
そこで、ダイアログを作っているファイル内のOnCtlColor(・・・)内で
ブラシを作り色を変えてやれば実現できましたが、このダイアログから呼び出す
別のダイアログにも同様に色を付けたいのです。
おそらく呼び出すダイアログでも、そのファイルのOnCtlColor内を弄れば実現できそうですが、
一括で変える方法を探しています。そのような方法はあるでしょうか?
>今回VS2005(VC)への移植の際に、この処理が上手く実行されていないようで、
>ダイアログに色が付きませんでした。
MSDNに明に使えないことが書かれています。
>別のダイアログにも同様に色を付けたいのです。
>おそらく呼び出すダイアログでも、そのファイルのOnCtlColor内を弄れば実現できそうですが、
>一括で変える方法を探しています。そのような方法はあるでしょうか?
CDialogを既定クラスにしてOnCtlColorだけの処理をするクラスを作成し、
それを今現在 CDialogを既定クラスとしているクラスの既定クラスに変更してしまうのは
どうでしょうか?
>MSDNに明に使えないことが書かれています。
URIを貼り忘れました。
http://msdn2.microsoft.com/ja-jp/library/6ewfs20c(VS.80).aspx
>>Blueさん
返答ありがとうございます。
なるほど使えなくなったのですね。
既定クラスの変更と、各ダイアログへの変更。
どちらが手間かを検討して実装してみます。
ありがとうございました。
ツイート | ![]() |