情况介绍:
自定义控件的滚动条是cscrollbar
在经典下面:listctrl和自定义控件的滚动条都是土土的那种
在xp风格下面:listctrl的滚动条是xp风格的,而我自定义的控件还是土土的导致风格不一致。求解。

解决方案 »

  1.   

    在应用程序中使用Windows XP视觉风格
       所有在Windows XP操作系统上运行的应用程序都有一个非客户区,该区域包括窗口框架和非客户滚动条。视觉风格默认应用于非客户区。这意味着非客户区的外观由当前安装的视觉风格决定。要对客户区中的通用控件应用视觉风格,就必须使用ComCtl32.dll v6或更高版本。与早期的ComCtl32.dll版本不同,v6版是不可重新分配的。使用该动态链接库的v6版惟一的方法是使用一个包含该库的操作系统。Windows XP同时提供了v5版和v6版。      ComCtl32.dll v6版包含了用户控件和通用控件。在默认情况下,应用程序使用在User32.dll中定义的用户控件和在ComCtl32.dll v5中定义的通用控件。如果想让应用程序使用视觉风格,就必须添加一个应用程序清单,用以表明如果可能应该使用ComCtl32.dll v6。v6版包括了一些新的控件和其他控件的新选项,但是最大的变化是支持改变窗口中控件的外观。   要创建清单并使应用程序能够使用视觉风格,就必须按下列步骤修改应用程序:(1)在程序中包含commctrl.h头文件,链接到ComCtl32.lib并调用InitCommon Controls。(2)向项目中添加一个名为YourApp.exe.manifest的文件(YourApp是可执行文件的名称),该文件具有下列XML格式:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity   version="1.0.0.0"   processorArchitecture="X86"   name="CompanyName.ProductName.YourApp"   type="win32" /> <description>Your application description here.</description> <dependency> <dependentAssembly> <assemblyIdentity   type="win32"   name="Microsoft.Windows.Common-Controls"   version="6.0.0.0"   processorArchitecture="X86"   publicKeyToken="6595b64144ccf1df"   language="*" /> </dependentAssembly> </dependency> </assembly> (3)按下列格式向应用程序的资源文件添加上面创建的清单。 CREATEPROCESS_MANIFEST_RESOURCE_ID  RT_MANIFEST "YourApp.exe.manifest" 向资源文件添加上面的条目时,必须将该条目格式化为一行。另外,也可以将该XML清单文件放置在应用程序的可执行文件所在目录下。操作系统会首先从文件系统装入清单,然后再检查可执行文件的资源段。文件系统版本有限。