Magnifying Glass - demonstrates different ways to obtain or create proper DC and use BitBlt - StretchBlt functions

Environment:VC5/VC6

Generally the sample demonstrates different ways to obtain or create proper DC and use BitBlt - StretchBlt functions.

It is another ZoomIn demo application created with doc-view architecture. CView derived class experienced minimum changes from AppWizard generated one.

CImageWnd window covers CView derived class window. CImageWnd contains a copy (mirror) of CView derived class window bitmap to draw. CImageWnd window becomes transparent when magnifying glass is inactive and draws a "lens" over the bitmap when active. The "lens" is a small zoom window. Magnifying Glass doesn't depend on a view contents. It is easy to modify CMgnView::OnDraw or CMgnView::OnEraseBkgnd and Magnifying Glass still will work with another contents.

To activate or deactivate magnifying glass - press button on a toolbar.

To magnify a portion of a view - activate magnifying glass, press left mouse button and move "lens" around a view.

To change magnifying glass size, shape or zoom - activate magnifying and click a view with right mouse button. It is possible to create several views just use file - new command. Note that for each view magnify glass keeps its own properties.

It is easy enough to make a "lens" astigmatic (cylinder) or add another "optical effects".

I couldn't remove some "optical side effects". When magnifying glass is slowly moved from outside a frame inside it over a border you see a "diffraction grid".

Download source - 27 Kb

IT Offers

Comments

  • There are no comments yet. Be the first to comment!

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

Go Deeper

  • The penetration of virtual servers is approaching 50 percent in IT infrastructures, yet administrators are only backing up, on average, 68 …
  • Increasing demands placed on IT, along with tightening budgets has prompted IT leaders to seek out alternative technologies and improved …
  • When the economy is stable, a company's IT organization may view Finance as just one of many internal customers competing for attention. But …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds