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

  • 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 make 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 eVault Chief Technology …

  • Protecting business operations means shifting the priorities around availability from disaster recovery to business continuity. Enterprises are shifting their focus from recovery from a disaster to preventing the disaster in the first place. With this change in mindset, disaster recovery is no longer the first line of defense; the organizations with a smarter business continuity practice are less impacted when disasters strike. This SmartSelect will provide insight to help guide your enterprise toward better …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds