我在互联网上搜索过一个答案,但除了模态和模态对话框之间的区别外,我找不到任何有用的问题。
正如标题中所写,我的问题是 - 如何为对话框实现/使用特定于Windows版本的设计? IOW,在Windows 10系统上使用Windows 10按钮样式。
我正在使用Visual Studio,并且使用集成资源编辑器为对话框创建了一个简单的资源。
这是我的程序:
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, NULL);
system("pause");
return 0;
}
现在,当我编译此代码时,控制台和对话框出现在屏幕上,但对话框控件(按钮)似乎以Windows 2000样式显示。我使用的是Windows 10。
我有这种风格:
我想要这种风格:
答案 0 :(得分:5)
您需要选择清单中的comctl32 v6:Enabling Visual Styles。
要使您的应用程序能够使用视觉样式,您必须使用 ComCtl32.dll版本6或更高版本。因为版本6不是 可再发行,只有在您的应用程序运行时才可用 在包含它的Windows版本上。 Windows随附两者 版本5和版本6. ComCtl32.dll版本6包含用户 控制和共同控制。默认情况下,应用程序使用 User32.dll中定义的用户控件和中定义的公共控件 ComCtl32.dll版本5.有关DLL版本及其版本的列表 分发平台,请参阅通用控件版本。
如果您希望应用程序使用视觉样式,则必须添加 应用程序清单或编译器指令,指示 如果可用,则应使用ComCtl32.dll版本6.
应用程序清单使应用程序能够指定哪个 它需要的程序集的版本。在Microsoft Win32中,一个程序集 是一组DLL和包含的可版本化对象列表 在这些DLL中。