View¿¡¼­ ±ô¹ÚÀÓ ¹®Á¦ ÇØ°á

 

  VisualC++(MFC ÇÁ·Î±×·¥)¿¡¼­ View¸¦ »ý¼ºÇϰí OnDrawÇÔ¼ö¿¡¼­ ±×¸²À» ±×¸®´Â ±¸Á¶ÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ °æ¿ì ÀϹÝÀûÀÎ ¹æ¹ýÀ» »ç¿ëÇϸé À©µµ¿ì Å©±â º¯°æµîÀ» ÇÒ ¶§ È­¸éÀÌ ±ô¹ÚÀÌ°í ¼Óµµ ¶ÇÇÑ ´À·Á º¸±â¿¡ ÁÁÁö ¾Ê°í, ¶ÇÇÑ ÀÏÁ¤ ÁÖ±â·Î È­¸éÀ» °»½ÅÇØ¾ß ÇÏ´Â °æ¿ì¶ó¸é ±× °»½Å Áֱ⠸¶´Ù Àüü È­¸éÀÌ ±ô¹ÚÀδٴ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ·± ¹®Á¦¸¦ °Ý¾î º» »ç¶÷¸¸ ÀÌ ³»¿ëÀ» º¸±â ¹Ù¶õ´Ù. ±×·¸Áö ¾ÊÀº »ç¶÷ÀÌ º¸¾ÒÀ» °æ¿ì È¥¶õ¸¸ °¡ÁßµÉ ¼ö ÀÖ´Ù. Âü°í·Î Ã¥¿¡¼­ ÀÌ·± ³»¿ëÀº ãÀ» ¼ö ¾ø¾î ±¸ÇöÇÑ ³»¿ëÀÌ´Ù.

  VisualC++ÀÌ ¾÷±×·¹ÀÌµå µÇ¸é ÀÌ ¹®Á¦´Â View»ý¼º ¿É¼ÇÀ¸·Î 󸮰¡ °¡´ÉÇϵµ·Ï ÇØ°áµÇ¸®¶ó »ý°¢µÇ³ª ºÒÇàÈ÷µµ ÇöÀç´Â ±×·± ¿É¼ÇÀÌ ¾ø´Â °ÍÀ¸·Î ¾Ë°í ÀÖ´Ù.  ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é...

 

1. È­¸é Å©±â¿¡ ÇØ´çÇÏ´Â Bitmap±×¸²À» »ý¼ºÇÑ´Ù.

2. OnDrawÇÔ¼ö¿¡¼­ »ý¼ºµÈ BitmapÇÚµé(µð¹ÙÀ̽º ÄÁÅýºÆ® ÇÚµé)À» ¾ò´Â´Ù.

3. pDC´ë½Å »ý¼ºµÈ Bitmap ÇÚµéÀ» »ç¿ëÇÏ¿© ¿øÇÏ´Â ±×¸²À» ±×¸°´Ù(È­¸é´ë½Å Bitmap¿¡´Ù ±×¸²À» ±×¸°´Ù).

4. Bitmap ÇÚµéÀ» ReleaseÇØ ÁØ´Ù.

5. BitmapÀÇ ³»¿ëÀ» È­¸é»ó¿¡ Ãâ·ÂÇÑ´Ù.

6. WM_ERASEBKGND ¸Þ½ÃÁö¿¡¼­ »ý¼ºµÈ ÇÔ¼ö¿¡¼­ ¾Æ¹«Àϵµ ÇÏÁö ¾Ê°í return FALSEÇØ ÁØ´Ù.

 

ÀÌ Àüü °úÁ¤À» ½ÇÇàÇϱâ À§Çؼ­´Â CBitmap¿¡ ´ëÇÏ¿© ¾î´À Á¤µµ Áö½ÄÀÌ ÀÖ¾î¾ß ÇÑ´Ù. µû¶ó¼­ CBackImage¶ó´Â Class¸¦ ÀÛ¼ºÇÏ¿© CBitmap¿¡ ´ëÇÏ¿© Á¦´ë·Î ¾ËÁö ¸øÇصµ »ç¿ë °¡´ÉÇÏ°Ô Çß´Ù. CBackImage¿¡¼­ »ç¿ëÇÏ´Â ÇÔ¼ö¸¦ º¸¸é ´ÙÀ½°ú °°´Ù.

 

µ¥¸ð ÇÁ·Î±×·¥

               //1. È­¸é Å©±â¿¡ ÇØ´çÇÏ´Â Bitmap±×¸²À» »ý¼ºÇÑ´Ù.
                   //CreateÇÔ¼ö´Â ³»ºÎÀûÀ¸·Î ±×¸² Å©±â°¡ º¯°æµÇÁö ¾ÊÀ¸¸é »õ·Î »ý¼ºµÇÁö ¾Êµµ·Ï ±¸¼ºµÇ¾î ÀÖ´Ù.
               CRect rectClient;
                   GetClientRect(&rectClient);
                   m_BackImage.Create(pDC, rectClient.right, rectClient.bottom);

 

´Ù¿î·Îµå