我希望Win32 / C应用程序中的对话框(资源)具有“现代”外观/样式,特别是其组合框。通过“现代”,我的意思是“下拉列表”类型的组合框看起来像一个实心按钮,侧面只有一个小“箭头”图标,而不是“旧”外观:平面编辑框与单独的箭头按钮。在VS对话框编辑器中,组合框看起来“现代”。当我运行应用程序时,它们看起来“老”。如何强制对话中的“现代”风格?这是我试过的,徒劳无功:
#include "commctrl.h"
#include "Uxtheme.h"
setDia = CreateDialog(NULL, MAKEINTRESOURCE(IDD_DIA_SET), win, DialogProc);
SetWindowTheme(setDia, L"Explorer", NULL);
我编写了一些Win32 / C ++应用程序,他们的对话框(也是资源)开箱即用的“现代”外观,没有做任何事情。 C和C ++是否有所不同?
答案 0 :(得分:4)
您很可能必须通过清单指定正确版本的comctl32.dll,尤其是选择v.6(例如,6.0.2900.5512)。有关详细信息,请参阅以下MSDN文章: Enabling Visual Styles