ダイアログベースで開発を行っておりまして、
タイトルバーの文字とタスクバーの文字をそれぞれ違うものに
設定したいのですが、何かよい方法はありませんでしょうか?
この方法が妥当なのかは、わかりませんが
以下のようにすると、とりあえずタイトルバーと
タスクバーの文字列は違うものを設定できます。
基本的に、親ウィンドウのタイトルがタスクバーに表示されます。
そこで、親となるダイアログをディスクトップに表示されない
座標へ移動して、子ダイアログをディスクトップに表示される
位置で表示してやります。
これで、あたかも子ダイアログが親ダイアログに見えますので
タスクバーとタイトルバーの表示が異なります。
先ほども、いいましたがこれが正当なやり方とは思えませんが
質問の要求の結果となります。
ほかにいい方法をご存知の方がいらっしゃいましたら
ご教授お願いします。
WM_NCPAINTで自分で描画するとか?
やったコトないですけど。
皆さんResありがとうございます。
私の方でもいろいろやってみたのですが、
なかなかうまくいきません。
WM_NC_PAINTで描画してみたのですが、元のキャプションと
重なってしまい、だめでした。
そのキャプションを消すとタスクバーの文字が消えてしまい
単純にはうまくいきませんでした。
タスクバーのグラデーションを描画してからとかやらないと
だめなんでしょうかね・・・。
hiroyukiさんの方法もやってみました。確かにおっしゃられるとおり
見ためうまくできました。
最悪、どうにもうまくいかない場合はこの方法でいこうかと思います。
皆さんありがとうございました。
> WM_NC_PAINTで描画してみたのですが、元のキャプションと
> 重なってしまい、だめでした。
> そのキャプションを消すとタスクバーの文字が消えてしまい
> 単純にはうまくいきませんでした。
> タスクバーのグラデーションを描画してからとかやらないと
> だめなんでしょうかね・・・。
キャプションを描いたコトはありませんが…
DrawFrameControl()である程度は描画できるかと。
DrawFrameControl()に渡すHDCはGetWindowDC()で、
RECTはGetWindowRectで取得できると思います。
ツイート | ![]() |