7、8、および10をターゲットとするWindows 7システムでWindows(MFCまたはQtなし)win32アプリを作成しています。
私のアプリは、Aero が有効になっているかどうかを検出し、Aero と非 Aero の両方を正しく処理しますが、OS に視覚スタイルがない場合(つまり、[パフォーマンスコントロール パネルの [オプション] ダイアログ)。
アプリケーションがテーマなしで起動さIsAppThemed
れているかどうかを検出できますが、スタイルを有効にしてウィンドウを直接作成する方法や、スタイルを強制的に有効にする方法がわかりません..これは私が試したもので、機能していません:
case WM_CREATE: {
if (IsAppThemed() == FALSE) {
// No visual style is applied
SetThemeAppProperties(STAP_ALLOW_NONCLIENT | STAP_ALLOW_CONTROLS);
SendMessage(hWnd, WM_THEMECHANGED, 0, 0);
RedrawWindow(hWnd, 0, 0, RDW_UPDATENOW);
}
} break;
さえない
SetWindowTheme(hWnd, 0, 0);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
働きました。
スタイルが無効になっていることを検出した場合、スタイルを強制的に有効にするにはどうすればよいですか?