加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – Dialog具有时尚设计的现代外观,但在运行时看起来很古

发布时间:2020-12-14 01:50:12 所属栏目:Windows 来源:网络整理
导读:我正在使用Visual C的资源编辑器创建一个对话框. 当我运行编辑器的测试按钮时,对话框的组件以现代外观显示,而当运行创建并显示对话框的应用程序时,它以旧外观显示…我只是使用WINAPI调用显示对话框,而不是MFC. 以下是截图(上图是设计时UI外观的示例,另一个是
我正在使用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清单文件放在与应用程序的可执行文件相同的目录中.操作系统将首先从文件系统加载清单,然后检查可执行文件的资源部分.文件系统版本优先.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读