Zoom/Scale CWnd Controls in Visual C++
===

We've got a CWnd that has several controls (CButton, CEdit, CStatic, etc) on it and would like to find a way to allow the user to zoom in and out such that the controls get larger/smaller.  The control itself needs to change size as well as the text labels inside the controls (like the button text).

I was looking into the CZoomView documented on the web and using the CDC SetMapMode to MM_ISOTROPIC, but this seems to really only be useful in an OnDraw method since the CZoomView has a TODO to implement drawing code when implemented.  Since these are Microsoft controls, we're just letting them draw themselves.

Is this even possible?  It seems like I should be able to use the adjust the device context to think that the device to logical unit scale is different, but I can't come up with how to get the controls to honor this.

    int previousMode = pDC->SetMapMode(MM_ISOTROPIC);
    CSize previousWin = pDC->SetWindowExt(100,100);
    CSize previousExt = pDC->SetViewportExt(m_zoom, m_zoom);

Thoughts or ideas?