Creating a Transparent Hole Region in Different Shapes on Any Window

Environment: Visual C++ 6.0 Windows 9x, Windows NT 4.0 and Windows 2000

With this class you can make transparant (full access through hole) region in different shape on the most type of windows. Basically it is only one significant function in the class. This is most a funny way to use region like ellipse, rectangle, roundrect, circles and polygon. But i am sure that some of you can find a way to use it, for example in a screen saver. If you find another way to use it, please let me know!

Links

MagicHole Homepage

Downloads

Download demo project - 74 Kb
Download a CDialog based screensaver demo project that use the CMagicHole class - 152 Kb
Download source - 4 Kb


Comments

  • :-)

    Posted by Legacy on 11/08/2002 12:00am

    Originally posted by: Vitaly Tomilov

    funny, but useless.

    Reply
  • How does it work in Button Windows

    Posted by Legacy on 11/05/2002 12:00am

    Originally posted by: Limou

    when I use the MagicHole class with the m_hDestWnd a button's hwnd, the first time, it does not appear to transparent. In your Dialog demo, I add a big button with id IDC_BUTTON1, and add the following statements:
    CMagicHole mag(GetDlgItem(IDC_BUTTON1)->GetSafeHwnd());
    mag.MakeHoleArea(CRect(4,4,100,60));
    the first time,the hole in the button is not transparent and we cannot see the word of "button1". why? even I add the UpdateWindow(), it does not take effect.

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Event Date: April 15, 2014 The ability to effectively set sales goals, assign quotas and territories, bring new people on board and quickly make adjustments to the sales force is often crucial to success--and to the field experience! But for sales operations leaders, managing the administrative processes, systems, data and various departments to get it all right can often be difficult, inefficient and manually intensive. Register for this webinar and learn how you can: Align sales goals, quotas and …

  • Live Event Date: August 14, 2014 @ 2:00 p.m. ET / 11:00 a.m. PT Data protection has long been considered "overhead" by many organizations in the past, many chalking it up to an insurance policy or an extended warranty you may never use. The realities of today makes data protection a must-have, as we live in a data-driven society -- the digital assets we create, share, and collaborate with others on must be managed and protected for many purposes. Check out this upcoming eSeminar and join Seagate Cloud …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds