Windows 7 中的滚动条外观控件

Scrollbar Appearance Control in Windows 7

本文关键字:外观 控件 滚动条 Windows      更新时间:2023-10-16

我有一个应用程序,它有一个带有滚动条的 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开始不支持它?

谢谢

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

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

http://msdn.microsoft.com/en-us/library/bb773175%28v=vs.85%29.aspx

也许是敞开的大门,但您已将Windows XP/Vista/7清单添加到应用程序的资源中?