windows – Dialog具有时尚设计的现代外观,但在运行时看起来很古老(使用Visual C和资源编辑器)

我正在使用Visual C的资源编辑器创建一个对话框.
当我运行编辑器的测试按钮时,对话框的组件以现代外观显示,而当运行创建并显示对话框的应用程序时,它以旧外观显示…我只是使用WINAPI调用显示对话框,而不是MFC.
以下是截图(上图是设计时UI外观的示例,另一个是运行时的UI外观):

link text

有谁知道我做错了什么???

提前致谢,
亨利

您的应用程序清单是否指定您要使用comctl32.dll版本6?这是在Windows XP中使用 visual styles and a more modern look的要求之一.

创建清单并使应用程序能够使用视觉样式.

链接到ComCtl32.lib并调用InitCommonControls(请参阅MSDN Library中的Platform SDK文档).

将名为YourApp.exe.manifest的文件添加到具有以下XML格式的源树:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity
  version="1.0.0.0"
  processorArchitecture="X86"
  name="CompanyName.ProductName.YourApp"
  type="win32"
 />
 <description>Your application description here.</description>
 <dependency>
  <dependentAssembly>
   <assemblyIdentity
    type="win32"
    name="Microsoft.Windows.Common-Controls"
    version="6.0.0.0"
    processorArchitecture="X86"
    publicKeyToken="6595b64144ccf1df"
    language="*"
   />
  </dependentAssembly>
 </dependency>
</assembly>

将清单添加到应用程序的资源文件中,如下所示

CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.exe.manifest"

注意:将以前的条目添加到资源时,必须将其格式化为一行.或者,您可以将XML清单文件放在与应用程序的可执行文件相同的目录中.操作系统将首先从文件系统加载清单,然后检查可执行文件的资源部分.文件系统版本优先.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...