À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   [MFC] OnDraw(), OnPaint()ÀÇ Â÷ÀÌ 1998/07/29 (10:53)
À̸§ swindler
¹øÈ£ 44
Á¶È¸ 479
º»¹®
OnDraw´Â µµ½ºÀÇ ¸®´ÙÀÌ·º¼Ç(¹æÇâÀç¼³Á¤)±â´Éó·³ È­¸é¿¡µµ Ãâ·ÂÇÏ°í
ÇÁ¸°ÅÍ¿¡µµ Ãâ·ÂÇÏ°í ÇÒ¼öÀÖ½À´Ï´Ù..
OnPaint´Â ¿À·ÎÁö ±×¸®±â¸¸ ¼öÇàÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù..

ÀÌ µÑÀÇ Â÷ÀÌÁ¡À̶ó¸é À§¿Í °°°í¿©.. ¶Ç ÇÑ°¡Áö°¡ ÀÖ´Ù¸é
¼Óµµ ÀÔ´Ï´Ù.. OnDrawÇÔ¼ö´Â È­¸éÇÏ°í ÇÁ¸°ÅÍ ±âŸ µîµîÀÇ ÀåÄ¡¿¡
Ãâ·ÂÇÒ¼ö ÀÖ½À´Ï´Ù.. ´öºÐ¿¡ ¼Óµµ°¡ Ãâ·Â¸¸ ´ã´çÇÏ´Â OnPaint
ÇÔ¼ö¿¡ ºñÇؼ­´Â ´À¸®Á®..
                                    
°¡Àå Å« Â÷ÀÌ´Â OnDraw´Â Á÷Á¢ È£ÃâÇÒ ¼ö ÀÖ´Â ÇÔ¼öÀÎ ¹Ý¸é OnPaint´Â º¸È£µÈ
¸Þ½ÃÁö Çڵ鷯 ÇÔ¼ö¶õ °ÅÁÒ.
¸¸¾à ÇÁ·Î±×·¡¸Ó°¡ »ç¿ëÀÚ ¿µ¿ª¿¡ ±×·ÁÁø ³»¿ëÀ» ÀμâÇÏ·Á ÇÑ´Ù°í Ä¡ÁÒ. ±×·±
°æ¿ì ÇÁ¸°ÅÍ DC¿¡ OnPaint¿¡¼­ ±×·ÁÁØ °Íó·³ ´Ù½Ã ¶È°°ÀÌ ±×·Á ÁÖ¾î¾ß Çϴµ¥
±×°Ç ÄÚµå ³¶ºñÁÒ.
¹°·Ð ÀμâÇÏ´Â ÇÔ¼ö ³»¿¡¼­ OnPaint¸¦ ºÒ·¯ÁÙ ¼ø ¾øÁÒ.
µû¶ó¼­ OnPaint³»¿¡¼­ ÀϾ´Â ÀÏÀ» OnDraw·Î ¸ô¾Æ¼­ È­¸é¿¡, ȤÀº ÇÁ¸°ÅÍ¿¡
¶Ç´Â ±× ÀÌ¿ÜÀÇ Àϵ鿡 À¯¿ëÇÏ°Ô »ç¿ëÇÏ·Á´Â °ÅÁÒ.


OnPaintÀÇ µðÆúÆ® ±¸ÇöÀ» º¸¸é OnPaint¿Í OnDrawÀÇ Â÷ÀÌÁ¡À»
¾Ë¼ö ÀÖ½À´Ï´Ù. OnPaint´Â ¸Þ¼¼Áö WM_PAINT¿¡ ÀÇÇØ È£ÃâµÇ´Â
ÇÔ¼öÀÌ°í °¡»ó ÇÔ¼ö°¡ ¾Æ´Õ´Ï´Ù. SDKÀÇ WM_PAINTó¸® ºÎºÐ°ú
°°ÁÒ.

// µðÆúÆ® OnPaint
void CView::OnPaint()
{
       // standard paint routine
       CPaintDC dc(this);
       OnPrepareDC(&dc);       // dc ¼³Á¤, °¡»ó ÇÔ¼ö
       OnDraw(&dc);            // ½ÇÁ¦ Ãâ·Â, °¡»ó ÇÔ¼ö
}
         
ÀÚ½ÅÀÌ Á÷Á¢ ClassWizard·Î WM_PAINTó¸® ºÎºÐÀ» ¸¸µé¸é
¾Æ·¡¿Í °°ÀÌ µË´Ï´Ù.

void CMyView::OnPaint()
{
       CPaintDC dc(this); // device context for painting

       // TODO: Add your message handler code here

       // Do not call CScrollView::OnPaint() for painting messages
}

OnPrepareDC, OnDraw È£ÃâÀÌ ¾ø°Ô µÇ°í µÎ ÇÔ¼ö´Â È£Ãâ µÇÁö ¾Ê½À´Ï´Ù.
OnPrepareDC´Â ¾ÆÁÖ Áß¿äÇÑ ¿ªÈ°À» Çϴµ¥ CScrollView¿¡¼­        
DCÀÇ ¿øÁ¡ ÁÂÇ¥¸¦ ¿Å°Ü ½ºÅ©·Ñ ÀÛ¾÷À» ÇÏ°Ô µË´Ï´Ù.
±×¸®´Ï±î CView¿¡¼­ »ó¼Ó¹Þ´Â ºä Ŭ·¡½ºÀÇ Ãâ·Â ·çƾÀº OnDrawºÎºÐ¿¡
À§Ä¡ ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ÀÌ°Ç ³ªÁß¿¡ ÇÁ¸°ÅÍ·Î Ãâ·ÂÇÒ¶§µµ OnDrawºÎºÐÀÌ
»ç¿ëµÇ±â ¶§¹®ÀÔ´Ï´Ù( À½, ÀÌ°Ç ÃßÃø :))
                                      
------------------------------------------------------------
OnDraw´Â °¡»ó ÇÔ¼ö·Î¼­ View¿¡¼­ »ç¿ë µÇ¾î Áý´Ï´Ù.
±Ã±ØÀûÀ¸·Î OnDraw³ª OnPaint ÇÔ¼ö´Â WM_PAINT ¸Þ¼¼Áö°¡ ¹ß»ýÇßÀ» ¶§
WM_PAINT ¸Þ¼¼Áö¸¦ ó¸® ÇÏ´Â ¸Þ¼¼Áö Çڵ鷯¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
OnDraw ÇÔ¼ö´Â MFCÀÇ ´ÙÅ¥¸ÕÆ®/ºä ±¸Á¶ ÇÏ¿¡¼­ ºä¿¡¼­¸¸ ¾²ÀÌ°í,
OnPaint ÇÔ¼ö´Â ÇÁ·¹ÀÓ À©µµ³ª ´ÙÀ̾ó·Î±× »ó¿¡¼­ ´Ù½Ã ±×¸± ÇÊ¿ä°¡ ÀÖÀ»¶§
ºÒ·Á Áý´Ï´Ù.
ºä »ó¿¡¼­ OnPaint°¡ ¸ÕÀú ºÒ¸®°í OnDraw°¡ ³ªÁß¿¡ ºÒ¸°´Ù´Âµ¥...
                                      

HomePage Backward Forward Post Reply List
1998 by swindler