À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á |
---|
Á¦¸ñ | [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°¡ ³ªÁß¿¡ ºÒ¸°´Ù´Âµ¥... |