【问题标题】:Windows 10 Dialog Box titlebar behaviorWindows 10 对话框标题栏行为
【发布时间】:2015-12-02 06:21:28
【问题描述】:

如何让我的应用程序中的对话框标题栏像 Windows 10 中的对话框一样变粗。我注意到如果在链接器选项中将最低 Windows 版本设置为 6.0 或更高版本,则会导致标题栏要厚。 我的应用程序清单中有<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>,但如果我将带有链接器的 EXE 文件中的最低 Windows 版本设置为 5.01(为了与 XP 兼容),标题栏会更薄。

该应用程序是用 C 和 C++ 混合编写的,并使用普通的 Windows API。

有没有办法让对话框中的标题栏使用非向后兼容的行为,而不会放弃对我的应用程序的 XP 支持?

【问题讨论】:

  • 你想不想回答?您的赏金消息表明您想要一个特定的答案。如果这不是问题的答案怎么办?您是否有兴趣获得正确答案,还是只接受您想听到的答案?

标签: c winapi dialog windows-10 titlebar


【解决方案1】:

最后,我确信这是窗口管理器的内部行为,因此我现在分发我的应用程序的两个版本:在 Visual Studio 2010 中编译的 XP 兼容版本和 Vista+ 兼容版本在 Visual Studio 2017 中编译,它还需要支持 SSE2 的处理器才能运行。

【讨论】:

    【解决方案2】:

    您可以做的是将您的对话框设置为无边框并绘制您自己的标题栏和关闭按钮。这将保证在所有平台之间的可移植性,因为绘图将完全由您的代码指定,而不是由操作系统 API 自行决定。

    【讨论】:

    • 这应该是不言而喻的,但是当目标是获得 native 行为 时,完全禁用所说的本地行为,而是自己做这一切——即保证非本地性——不仅没有完成目标,反而违背
    猜你喜欢
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    相关资源
    最近更新 更多