Transparent RichEditCtrl
Environment: VC5, NT4 SP3
CRichEditCtrlEx is derived from CRichEditCtrl and contains two methods for create the control.
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.

Comments
Transparency While The Window is Hidden
Posted by Legacy on 05/02/2003 12:00amOriginally posted by: TDS
My Problem is I Want Text From The RichEditCtrl While the Window is Hidden With Transparent Backgrnd.
ReplyFor this Problem I Had Used Ur Code But While The Window is Hidden WM_PAINT Mesage Gets Posted Continously To The Parent Window .
Regard
TDS
Could you tell me my mistake? Please~
Posted by Legacy on 08/01/2001 12:00amOriginally posted by: Moon Joon Sik
error C2440: 'initializing' : cannot convert from 'class std::list<class CString,class std::allocator<class CString> >::const_iterator' to 'class std::list<class CString,class std::allocator<class
CString> >::iterator'
This is an error message. I don't know why error occur. Please teach me~ Have a good time~ Bye~
ReplyTransparency in RichEdit2
Posted by Legacy on 04/08/2001 12:00amOriginally posted by: Anton Riabov
Rich edit 2.0 (and higher) can be made transparent with WS_EX_TRANSPARENT style, and any kind of background can be put under it with minimal flickering, as long as parent window redraws only the modified rectangle. Hope this helps.
ReplyFlicker on scroll
Posted by Legacy on 08/12/1999 12:00amOriginally posted by: Bob Cozzi
The knowledge that we can use the transparent style is great. I've needed to draw (water mark style) for a long time.
The problem is that when I use the transparent style, the scroll feature causes a mud slide. The text smears across the screen while it is scrolled, and never recovers.
To resolve this I have to update the entire window, but the problem is, the Erase background routine causes the entire RichEdit control to blink. This is not acceptable. :(
Redraw(FALSE) doesn't work and I can't seem to get at the RichEdit control's ITextDocument to try to do a Freeze() method. Very close, but for me it isn't working good enough. :( Any Ideas?
Reply