Simplest way to change listview and treeview colours
Question
I'm trying to find a simple way to change the colour of the text and background in listview
and treeview
controls in WTL or plain Win32 code.
I really don't want to have to implement full owner drawing for these controls, simply change the colours used.
I want to make sure that the images are still drawn with proper transparency.
Any suggestions?
Solution
Have a look at the following macros:
OTHER TIPS
There are also appropriate methods of the CListViewCtrl
and CTreeViewCtrl
wrapper classes:
- GetBkColor
- SetBkColor
You may also want to take a look at WTL's CCustomDraw::OnItemPrePaint (that's if you need to control the drawing of individual items)
A good article that describes this process is here
It's been a while since I've use the win32 API directly, but I believe that if you handle the WM_ERASEBACKGROUND message for your control, you can use FillRect() in your handler to paint the background using whatever color you like.