しばらくの間、私は MFC のこの不具合に苦労してきました。簡単に観察できます。
- Visual Studio 2012 Update 1 で新しい MFC アプリケーションを作成し、
- ウィザード設定で設定 複数ドキュメント/タブ付きドキュメント、Office 2007 ブラック スタイル
- Windows 7 でアプリケーションを実行します。
Windows 7 Aero テーマがオンのときに起動されたアプリケーション:
Windows 7 Basic に設定された Windows コントロール パネルのテーマ:
Windows コントロール パネルのテーマを Windows 7 Aero に戻しました。
エアロをオフにしたときの未塗装のギャップと、エアロをオンにしたときに閉じるボタンがなくなった黒いタイトルに注目してください。
この問題は常に発生しており、Visual Studio 2010 のウィザードで生成されたアプリケーションは、Windows コントロール パネルを介してテーマを切り替えても問題なく動作していましたが、DwmEnableComposition() API 呼び出しで aero を無効化/再有効化した後も黒いタイトルが表示されていました。
Visual Studio 2012 で問題が解決されることを願っていましたが、そうではなかったようです。では、バグを回避するにはどうすればよいでしょうか?