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?

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top