I thought I had this working when I applied the instructions for CextNCSB to a CExtListCtrl in the same way you instructed for a CRichEditCtrl, but there were some problems I just discovered.
I have a CListCtrl derived class that is used in a few places in my application. I don’t recall exactly how I initially did it after I got the CRichEditCtrl scroll bars skinned, but it was looking correct. I have been experimenting around with it and currently the control and this is the current behavior:
-Upon initial draw, the scroll bar is not skinned
-When I scroll with the mouse wheel, the up and down arrows skin, but the slide bar does not.
-Changing focus away from the control causes the slide bar to skin.
-Moving the mouse over the slide bar also causes it to skin
-The way it was working before the latest changes, the list would scroll with the mouse wheel, but not with the up and down arrows on the slide bar or grabbing and dragging the slide bar.
This is how I currently have the control defined:
The class definition
class CTTListCtrl : public CExtNCSB <CExtListCtrl>
CTTListCtrl::CTTListCtrl() : CExtNCSB < CExtListCtrl > (true,true)
Declaration of the list control
I tried deriving the CTTListCtrl class from CListCtrl as described in another forum post I saw here, but that only skins the scroll bar. I must be missing something simple.