Transparent RichEditCtrl

256 colors

Hicolor

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.

Downloads

Download demo project - 23 KB


Comments

  • Transparency While The Window is Hidden

    Posted by Legacy on 05/02/2003 12:00am

    Originally posted by: TDS

    My Problem is I Want Text From The RichEditCtrl While the Window is Hidden With Transparent Backgrnd.
    For 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

    Reply
  • Could you tell me my mistake? Please~

    Posted by Legacy on 08/01/2001 12:00am

    Originally 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~

    Reply
  • Transparency in RichEdit2

    Posted by Legacy on 04/08/2001 12:00am

    Originally 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.

    Reply
  • Flicker on scroll

    Posted by Legacy on 08/12/1999 12:00am

    Originally 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
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • Due to internal controls and regulations, the amount of long term archival data is increasing every year. Since magnetic tape does not need to be periodically operated or connected to a power source, there will be no data loss because of performance degradation due to the drive actuator. Read this white paper to learn about a series of tests that determined magnetic tape is a reliable long-term storage solution for up to 30 years.

Most Popular Programming Stories

More for Developers

RSS Feeds