谢谢。

解决方案 »

  1.   

    基本上很难。不过我以前做了一个为滚动条换肤的程序,使用位图来贴可以实现。参见我的小站:http://www.setoutsoft.cn
      

  2.   

    对于Combox这种非窗口的ScrollBar,估计无法改变。
    你可以试试WM_CTLCOLOR(MFC)或WM_CTLCOLORSCROLLBAR(SDK)。
      

  3.   

    参考:http://www.codeproject.com/KB/list/skinlist.aspx
      

  4.   

    Up,都是自己重绘了,不过要对API特别熟悉才行!
      

  5.   

    这个估计要用到钩子,下拉列表由combobox负责
      

  6.   

    To All
       非常感激各位的指点。是的,这个是非常的难,在VB上就一句语句搞掂,VC就非常麻烦。如果用钩子怕会有程序的问题。网上都没有自绘Combox控件改变滚动条的例子。flyhigh的好象还可以,先看看。To crystal521
       这二个都不行,第一个WM_CTLCOLOR只能改变Combox的Edit部分的颜色,还有个边框和滚动条完全没作用的。WM_CTLCOLORSCROLLBAR在MSDN上说不会响应这个间接连接的方式,只会响应直接用SCROLLBAR控件。To CathySun118
       那个例子如果需要用换肤的Lib就可以用了。我不想用换肤的,一来会影响程序的程序,二来怕可能会有内存泄露。如果不用的就最好了,我先看看,非常谢谢你。
      

  7.   

    你自己写个继承Combox的类,处理里面的drawctrl函数,自己重绘控件就可以其实很简单
      

  8.   

    CathySun118 的例子是用STATIC控件模拟滚动条的,还不算理想。最好是能直接改变颜色的那种。
      

  9.   

    搜索整个Google,都没有办法,看来是除了Hook外不行的了。最后偶只能仿制自绘Button的方式来自绘一个Combox来解决问题,再次谢谢大家。