3

私は現在 をオーバーライドしており、WM_NCPAINT作業中のアプリケーション用に独自の色/テーマのタイトル バーをペイントしています。現在、これはうまく機能していますが、最小、最大、閉じるボタンはまだ XP のデフォルト テーマです。WM_NCCALCSIZEWM_NCACTIVATE

それらを制御するものと、マウスメッセージが行うことを調べました。ただし、サイズ変更や、失いたくないその他の機能も制御します。

これらのボタンのテーマを変更する簡単な方法はありますか?

  • WindowsXP
  • MFC フォーム
  • ビジュアルスタジオ 2005
4

3 に答える 3

2

ここでの最善の策は、ボタンを無効にして、この回答に投稿したコードに似たものでボタンを再描画することだと思います。WinFormsを使用したC#ですが、その大部分はとにかくWndProc()でオーバーロードされており、MFCへのコピー/貼り付けをほぼ使用できるはずです。

クリックハンドラーを実装して、実行したいことを実行するのは簡単です。

注:その質問の質問者は、コードがVistaでは機能しないと述べました。Vistaボックスはありませんが、XPでは動作します。

于 2008-10-05T08:21:01.497 に答える
0

これも役立ちました:http://www.catch22.net/tuts/titlebar

于 2008-10-05T10:14:16.947 に答える
0

また、MFC Next (VS2008 SP1) でそれがどのように行われるかを確認することもできます。そこでのテーマ サポートは、タイトル バー全体のカスタム描画を行います。そこからいくつかのアイデアを得ることができます。Vistaでもテストしたと思います;)

于 2008-10-07T13:34:14.580 に答える