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: May 6, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT While you likely have very good reasons for remaining on WinXP after end of support -- an estimated 20-30% of worldwide devices still are -- the bottom line is your security risk is now significant. In the absence of security patches, attackers will certainly turn their attention to this new opportunity. Join Lumension Vice President Paul Zimski in this one-hour webcast to discuss risk and, more importantly, 5 pragmatic risk mitigation techniques …

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds