gpt4 book ai didi

visual-studio - 在保留公共(public)控件功能的同时禁用 list 中的视觉样式

转载 作者:行者123 更新时间:2023-12-01 12:56:52 25 4
gpt4 key购买 nike

我使用的是纯 WINAPI,需要发送 TB_GETMETRICS信息。但是,仅当您将 list 文件添加到您的应用程序并引用 Common Controls 6.0 版时,该消息才有效。我添加了它,消息有效,但现在我的应用程序正在使用我不想要的 Vista/Windows 7 视觉样式。

有没有办法在使用经典主题时通过修改 list 文件或调用某些 API 函数来保留 Common Controls 6.0 引用?

注意:我试过SetWindowTheme但结果是 Classic 和 Aero 的混合。

编辑:我没有正确阅读 SetWindowTheme 函数,所以我想为父 hWnd 调用它会自动为它的所有子调用它。事实证明,我需要为每个要使用 Windows Classic 的控件调用它。它现在正常工作。

最佳答案

要禁用所有控件的视觉样式,请在创建主窗口之前调用 SetThemeAppProperties(STAP_ALLOW_NONCLIENT)SetThemeAppProperties(0)

要禁用每个 HWND 的视觉样式,您可以调用 SetWindowTheme(hwndControl,L"",L"")

如果您需要支持没有 v6 通用控件的系统,您可能可以通过使用系统指标值和系统 DPI 来确定工具栏控件中使用了哪些系统指标(或硬编码值)。

关于visual-studio - 在保留公共(public)控件功能的同时禁用 list 中的视觉样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9199542/

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