我们有一个 CWnd,上面有几个控件(CButton、CEdit、CStatic 等),并且希望找到一种方法来允许用户放大和缩小,从而使控件变大/变小。控件本身需要更改大小以及控件内的文本标签(如按钮文本)。
我正在查看网络上记录的 CZoomView 并使用 CDC SetMapMode 到 MM_ISOTROPIC,但这似乎真的只在 OnDraw 方法中有用,因为 CZoomView 在实现时有一个 TODO 来实现绘图代码。由于这些是 Microsoft 控件,我们只是让它们自己绘制。
这甚至可能吗?似乎我应该能够使用调整设备上下文来认为设备到逻辑单位比例是不同的,但我无法想出如何让控件来兑现这一点。
int previousMode = pDC->SetMapMode(MM_ISOTROPIC);
CSize previousWin = pDC->SetWindowExt(100,100);
CSize previousExt = pDC->SetViewportExt(m_zoom, m_zoom);
想法或想法?