Windows 7中的滚动条外观控件

时间:2011-05-20 22:23:55

标签: 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,hInst,NULL);

但是,当我为应用程序的另一部分手动创建Scrollbar控件时,它具有较旧的3d风格外观:

CreateWindow(TEXT("SCROLLBAR"), TEXT("MyScrollBar"),
WS_CHILD | WS_VISIBLE | SBS_VERT,0,0, CW_USEDEFAULT,
100, ownerhWnd, (HMENU)10 , NULL, NULL); 

如何让它焕然一新?是否有我使用的另一个控件,或者我可以应用于标准控件的样式?我查看了Flat Scroll Bar,但是它表示从XP开始不支持它?

由于

2 个答案:

答案 0 :(得分:4)

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

详细信息可在此Microsoft页面上找到:

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

答案 1 :(得分:1)

也许是敞开的大门,但是你已经为你的应用程序的资源添加了一个Windows XP / Vista / 7清单?