C++ Windows7中的滚动条外观控件

C++ Windows7中的滚动条外观控件,c++,winapi,windows-7,scrollbar,C++,Winapi,Windows 7,Scrollbar,我有一个应用程序,它有一个带有滚动条的ListView控件,并且自动在其中包含外观酷炫的滚动条: CreateWindowExW(WS_EX_WINDOWEDGE,L"SysListView32",L"MyList", WS_CHILD|WS_VISIBLE|LVS_NOSCROLL|LVS_REPORT|LVS_NOCOLUMNHEADER|WS_VSCROLL|LVS_SHOWSELALWAYS| LVS_SINGLESEL, 0,0,500,290,ownerhWnd, (HMENU)0,

我有一个应用程序,它有一个带有滚动条的ListView控件,并且自动在其中包含外观酷炫的滚动条:

CreateWindowExW(WS_EX_WINDOWEDGE,L"SysListView32",L"MyList",
WS_CHILD|WS_VISIBLE|LVS_NOSCROLL|LVS_REPORT|LVS_NOCOLUMNHEADER|WS_VSCROLL|LVS_SHOWSELALWAYS| LVS_SINGLESEL,
0,0,500,290,ownerhWnd, (HMENU)0,hInst,NULL);
但是,当我为应用程序的另一部分手动创建滚动条控件时,它具有较旧的3d样式外观:

CreateWindow(TEXT("SCROLLBAR"), TEXT("MyScrollBar"),
WS_CHILD | WS_VISIBLE | SBS_VERT,0,0, CW_USEDEFAULT,
100, ownerhWnd, (HMENU)10 , NULL, NULL); 
我如何让它有新的外观?是否有我使用的其他控件,或者可以应用于标准控件的样式?我查看了平面滚动条,但是它说XP以后不支持它


感谢您可能是一扇打开的门,但您已将Windows XP/Vista/7清单添加到应用程序的资源中?

可能是一扇打开的门,但您已将Windows XP/Vista/7清单添加到应用程序的资源中?

首先,您需要为您的程序创建一个清单,表明它使用的是通用控件版本6。然后您必须在程序启动时调用
InitCommonControls

有关详细信息,请参见此Microsoft页面:


首先,您需要为您的程序创建一个清单,表明它使用通用控件版本6。然后您必须在程序启动时调用
InitCommonControls

有关详细信息,请参见此Microsoft页面:


是的,这就是问题所在。我以前从未用过这个,谢谢你的帮助!在这种情况下,“可能是一扇敞开的门”是什么意思?我从没听说过。当然,我可以从上下文中猜出来,但知道它会很酷……啊,这似乎是一句典型的荷兰谚语?它是“踢开大门”的缩写,女巫翻译为“做不必要的工作”。在这种情况下,它的意思是作为一种友好形式的“陈述显而易见”,一种真理。是的,这就是问题所在。我以前从未用过这个,谢谢你的帮助!在这种情况下,“可能是一扇敞开的门”是什么意思?我从没听说过。当然,我可以从上下文中猜出来,但知道它会很酷……啊,这似乎是一句典型的荷兰谚语?它是“踢开大门”的缩写,女巫翻译为“做不必要的工作”。在这种情况下,它的意思是作为一种友好形式的“陈述显而易见的”,一种真理。