当前位置:  开发笔记 > 编程语言 > 正文

使用Window API,如何确保控件保留原生外观?

如何解决《使用WindowAPI,如何确保控件保留原生外观?》经验,为你挑选了1个好方法。

我创建的一些控件似乎默认为旧的Windows 95主题,我该如何防止这种情况?这是一个不保留操作系统原生外观的按钮示例(我使用Vista作为我的开发环境):

HWND button = CreateWindowEx(NULL, L"BUTTON", L"OK", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
                                  170, 340, 80, 25, hwnd, NULL, GetModuleHandle(NULL), NULL);

我在Windows API中使用本机C++,没有托管代码.



1> jussij..:

要向应用程序添加清单,您需要创建一个MyApp.manifest文件并将其添加到应用程序资源文件中:

//-- This define is normally part of the SDK but define it if this 
//-- is an older version of the SDK.
#ifndef RT_MANIFEST
#define RT_MANIFEST              24
#endif

//-- Add the MyApp XP Manifest file
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "MyApp.manifest"

对于较新版本的Visual Studio,项目设置中有一个Manifest Tool选项卡,此选项卡上的Additional Manifest Files字段也可用于定义清单文件.

这是Win32应用程序的简单MyApp.manifest文件:




MyApp

如果您的应用程序依赖于其他dll,这些详细信息也可以添加到清单中,Windows将使用此信息来确保您的应用程序始终使用这些依赖dll的正确版本.

例如,以下是公共控件和版本8.0 C运行时库的清单依赖项详细信息:


    


  

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有