我们知道,通过custom_draw或者ower_draw可以美化列表控件里面所显示的条目,比如可以加上特殊背景等,但是如果想给其边框滚动条换上其他样子就不那么容易做到了,很容易想到的方法是,找到他的窗口句柄,然后作子类化,但遗憾的是,不管你通过什么方式,你都无法找到它的句柄。那么只有通过第二种方式了,直接把它隐藏掉,再换上自己的滚动条。
你可能想问,句柄都找不到,怎么隐藏它?别着急,有办法,微软提供了3个api来操作这个固有的滚动条:
InitializeFlatSB:
FlatSB_EnableScrollBar:
FlatSB_ShowScrollBar:
这样用:
InitializeFlatSB(m_hWnd);
FlatSB_EnableScrollBar(m_hWnd, SB_BOTH, ESB_DISABLE_BOTH);
FlatSB_ShowScrollBar(m_hWnd,SB_BOTH,FALSE);
这里m_hWnd是列表框控件的窗口句柄,这样你就把系统带的滚动条隐藏掉了,接下来换上自己的滚动条,达到滚动条换肤的功能