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