VC++
MFC Sample:
Magnifying
Glass - demonstrates
different ways to obtain or create proper DC
and use BitBlt
- StretchBlt
functions
|
|
This is a very good
Magnify window that is written with VC++
MFC, it can works with UCanCode's E-XD++ Visualization ToolKit.
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
|