Environment: VC5, NT4 SP3
The background of a rich control could be changed using SetBackgroundColor() method. When the display has 256 colors the RGB value from SetBackgroundColor() method is converted into an apropiate color from system palette. So I created a pattern brush with the desired RGB value with I filled the control in OnErasebkgnd() method. I have also treated the invalidate message because the control being transparent didn't actualize itself.
The first image is taken from a 256 color display adapter and the second from a 16 bit one.
The method MsgFilterRich() is used for treatment the mouse or key events.