我們有一個CWnd,它有幾個控件(CButton,CEdit,CStatic等),並希望找到一種方法來允許用戶放大和縮小控件變得更大/更小。控件本身需要更改大小以及控件內的文本標籤(如按鈕文本)。Zoom/Scale Visual C++中的CWnd控件
我正在研究Web上記錄的CZoomView,並使用CDC SetMapMode來MM_ISOTROPIC,但這看起來確實只在OnDraw方法中有用,因爲CZoomView在實現時有一個TODO來實現繪圖代碼。由於這些是微軟的控制,我們只是讓他們自己畫。
這甚至可能嗎?似乎我應該能夠使用調整設備上下文來認爲設備對邏輯單元的規模是不同的,但我不能想出如何讓控件遵守這一點。
int previousMode = pDC->SetMapMode(MM_ISOTROPIC);
CSize previousWin = pDC->SetWindowExt(100,100);
CSize previousExt = pDC->SetViewportExt(m_zoom, m_zoom);
想法或想法?
但是,爲什麼你需要「縮放」一個控件? – Ajay 2012-07-12 07:54:39
想想如何使用此頁面的形式在網頁上更改Web瀏覽器中的縮放。縮放時,它會以相同比例更改所有文本和控件的大小。我們正在尋找一種方法在CWnd中做到這一點,但似乎並不可行。無論如何,我現在已經離開了這個項目,所以它不再在我的盤子上。 – 2012-08-16 20:35:31