いくつかのコントロール(CButton、CEdit、CStaticなど)を備えたCWndがあり、コントロールが大きくなったり小さくなったりするようにユーザーがズームインおよびズームアウトできるようにする方法を見つけたいと考えています。コントロール自体は、コントロール内のテキストラベル(ボタンテキストなど)と同様にサイズを変更する必要があります。
Webに記載されているCZoomViewを調べ、CDC SetMapMode to MM_ISOTROPICを使用していましたが、CZoomViewには実装時に描画コードを実装するためのTODOがあるため、これはOnDrawメソッドでのみ役立つようです。これらはMicrosoftのコントロールであるため、自分で描画させるだけです。
これも可能ですか?デバイスコンテキストの調整を使用して、デバイスと論理ユニットのスケールが異なると考えることができるはずですが、これを尊重するようにコントロールを取得する方法を思い付くことができません。
int previousMode = pDC->SetMapMode(MM_ISOTROPIC);
CSize previousWin = pDC->SetWindowExt(100,100);
CSize previousExt = pDC->SetViewportExt(m_zoom, m_zoom);
考えやアイデア?