gpt4 book ai didi

c++ - 如果在系统范围内禁用,则激活窗口主题

转载 作者:行者123 更新时间:2023-11-28 05:55:11 26 4
gpt4 key购买 nike

我正在针对 Windows 7、8 和 10 的 Windows 7 系统编写 Windows(无 MFC 或 Qt)win32 应用程序。

我的应用程序检测是否启用了 Aero 并正确处理了 aero 和非 aero,但是当操作系统中没有没有视觉样式(即“为窗口应用视觉样式和按钮”复选框在“控制面板”的“性能选项”对话框中被关闭)。

我可以使用 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);

成功了。

如果我检测到样式被禁用,如何强制启用它们?

最佳答案

如果用户决定禁用主题,您不能覆盖该决定。你只需要应付它。显而易见的前进方向是改进您的应用程序在这种情况下的行为。

关于c++ - 如果在系统范围内禁用,则激活窗口主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34293463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com