ZoomView class 
COXZoomview

Ultimate ToolBox  COXZoomView class is a virtual base class for simple scrolling and scaling functionality. CZoomView was created with CScrollView as a template. It is almost 100% plug-in compatible with it, but to exploit all its features you have to adopt to its extended API, which is described beneath.
It displays its document scalable from 10% to 1000%, completely transparent for your derived view. This sample is based on the Scribble sample included with Visual C++.
Features:
•	Handles MM_ANISOTROPIC. 
•	Scrollsizes now definable in percent of the client area, updated on resizing. 
•	ScrollToPosition allows the anchor to be the upper left corner, or additionally the lower left corner or the center of the window. 
•	Accepts a CRect for the document size, so the origin can be located in the lower left corner or the center or any arbitrary point of the document. You don't need to handle negative y-coords any more ! 
•	Zoom level can vary between 10% and 1000% 
•	When zooming, either keeps the upper left window corner, the lower left window corner or keeps the center. 
•	Allows zooming up to a rectangle ( in client coords ). 
•	After zooming, the rectangle can be justified to either the upper left or lower left corner or to the window center. 
•	Allows zooming to the window size (so the scrollbars just disappear). 
•	Output can be aligned to the bottom of the view, when the view's height is bigger than the document's.