|
À̹ÌÁö ÀÚü¸¦ Å©°Å³ª ÀÛ°Ô ÇÏ·Á¸é StretchBlt¸¦ »ç¿ëÇÏÁö¸¸ À̹ÌÁö ÆíÁý âÀ» È®´ë/Ãà¼ÒÇÏ°Ô µÉ ¶§´Â ÆíÁýµÈ ¼±À̳ª ±ÛÀÚ´Â Å©±â°¡ º¯ÇÏÁö ¾Ê±â ¶§¹®¿¡ È®´ë³ª Ãà¼ÒÇÑ »óÅ¿¡¼´Â ÆíÁýÀ» ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. "±×¸²ÆÇ" ¿¡¼¿Í °°ÀÌ È®´ë¶Ç´Â Ãà¼ÒµÈ »óÅ¿¡¼µµ ÆíÁýÀÌ °¡´ÉÇϵµ·Ï ÇÏ·Á¸é OnPrepareDC¸¦ ¼±¾ðÇÑ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÏ¸é µË´Ï´Ù.
void CMyView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
CScrollView::OnPrepareDC(pDC, pInfo);
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportExt(m_nZoomRate, m_nZoomRate);
pDC->SetWindowExt(100, 100);
}
OnPrepareDC()´ÂOnDraw() ÇÔ¼ö¿¡ ÁøÀÔÇϱâ Àü¿¡ È£ÃâµÇ´Â ÇÔ¼ö·Î, ÀÌ ¾È¿¡¼ SetMapMode(), SetViewportExt(), SetWindowExt()¸¦ »ç¿ëÇÏ¿© Pixel°ªÀ» Á¶ÀýÇØ ÁÝ´Ï´Ù. m_nZoomRateÀ̶ó´Â ¼ýÀÚ¸¸ º¯È½ÃÄÑÁÖ¸é ¿øÇÏ´Â Å©±â·Î ȸéÀÌ(À̹ÌÁö°¡) º¯ÇÏ°Ô µË´Ï´Ù. Help¸¦ º¸½Ã¸é ¾Ë°ÚÁö¸¸, m_nZoomRate´Â ¹Ýµå½Ã 1ÀÌ»ó À̾î¾ßÇÕ´Ï´Ù. (0ÀÏ °æ¿ì ¿¡·¯¹ß»ý)
ÀÌ·¸°Ô ÀÛ¼ºÇÑ ´ÙÀ½, ¾Æ·¡¿Í °°ÀÌ Command ¸¦ ÀÛ¼ºÇؼ »ç¿ëÇÏ¸é µË´Ï´Ù.
void CMyView::OnZoomIn()
{
m_nZoomRate = 120;
Invalidate(FALSE); // OnPrepareDC()¸¦ È£ÃâÇÑ ÈÄ¿¡ OnDraw()°¡ È£ÃâµÈ´Ù.
}
Á÷Á¢ ÇØº¸½Ã¸é Á¤¸» °£´ÜÇÏ´Ù´Â °ÍÀ» ½Ç°¨ÇÏ°Ô µÉ °Ì´Ï´Ù. ´ÙÀ½ÀÇ <±×¸² 1>, <±×¸² 2>, <±×¸² 3> Àº °¢°¢ 50%, 100%, 200% ¸¦ Àû¿ëÇÑ ¿¹ÀÔ´Ï´Ù. <±×¸² 1 - 50%> <±×¸² 2 - 100%> <±×¸² 3 - 200%>- 2001.07.01 Smile Seo - |