¼ºêŬ·¡½Ì intercept ¹× ÇÁ·Î¼¼½º ¸Þ½ÃÁö¸¦ ÀÀ¿ë ÇÁ·Î±×·¥ Àü¼Û ¶Ç´Â â¿¡ °Ô½Ã ÇÏ´Â ÀýÂ÷ÀÔ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ÇÏÀ§ Ŭ·¡½º¸¦ »ç¿ë ÇÏ ¿© ´ëºÎºÐÀÇ ¸Þ½ÃÁö Ŭ·¡½º¸¦ Á¤ÀÇ Çϴ â ÇÁ·Î½ÃÀú¸¦ ó¸® ÇÏ´Â µ¿¾È ƯÁ¤ ¸Þ½ÃÁö¿¡ ´ë ÇÑ ÀÚü 󸮸¦ ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿î¿µ üÁ¦ âÀ» ¸¸µé¸é â ÇÁ·Î½ÃÀúÀÇ ÁÖ¼Ò¸¦ Æ÷ÇÔ ÇÏ´Â ³»ºÎ µ¥ÀÌÅÍ ±¸Á¶¿¡ ±×°Í¿¡ ´ë ÇÑ Á¤º¸¸¦ ÀúÀå ÇÕ´Ï´Ù. ÇÏÀ§ Ŭ·¡½º´Â â, ÀÀ¿ë ÇÁ·Î±×·¥ ÇÏÀ§ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ Á¤ÀÇ µÈ ÇÁ·Î½ÃÀúÀÇ ÀνºÅϽº ÁÖ¼Ò¿Í ÇÁ·Î½ÃÀúÀÇ ÁÖ¼Ò¸¦ ¹Ù²Ù·Á¸é SetClassLong ÇÔ¼ö¸¦ È£Ãâ ÇÕ´Ï´Ù. ±×·¯¹Ç·Î, ¸ðµç ¸Þ½ÃÁö â¿¡ ÇÏÀ§ ÇÁ·Î½ÃÀú¿¡ Àü¼Û µË´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀú´Â ´ÙÀ½ ó¸® µÇÁö ¾ÊÀº ¸Þ½ÃÁö ¿ø·¡ â ÇÁ·Î½ÃÀú¿¡ Àü´Þ ÇÏ CallWindowProc ÇÔ¼ö¸¦ »ç¿ë ÇÕ´Ï´Ù. ¿¡ ´ë ÇÑ ¼³¸íÀº COMBOBOX Ŭ·¡½º â ÇÁ·Î½ÃÀú¿¡ ÀÇÇØ ¼öÇà ¸Þ½ÃÁö ó¸® ±âº» ÄÞº¸ »óÀÚ µ¿ÀÛ À» ÂüÁ¶ÇÕ´Ï´Ù.
ÄÞº¸ »óÀÚ´Â ´ëÈ »óÀÚ ¹Û¿¡ ÀÖÀ» ¶§ ÀÀ¿ë ÇÁ·Î±×·¥ ¼ö ¾ø½À´Ï´Ù ó¸® ÅÇÀ», ÀÔ·Â, ¹× ÇÏÀ§ ÇÁ·Î½ÃÀú¸¦ »ç¿ë ÇÏÁö ¾Ê´Â °æ¿ì Å°¸¦ Å»Ãâ ÇÕ´Ï´Ù. ´Ü¼ø ¶Ç´Â µå·Ó´Ù¿î ÄÞº¸ »óÀÚ ÀÔ·ÂµÈ Æ÷Ä¿½º¸¦ ¹ÞÀ¸¸é Áï½Ã ÇØ´ç ÀÚ½Ä ÆíÁý ÄÁÆ®·Ñ¿¡ Æ÷Ä¿½º ¼³Á¤. µû¶ó¼, ÀÀ¿ë ÇÁ·Î±×·¥ ÇÏÀ§ ´Ü¼ø ¶Ç´Â µå·Ó´Ù¿î ÄÞº¸ »óÀÚ¿¡ ´ë ÇÑ Å°º¸µå ÀÔ·ÂÀ» °¡·Îä ÆíÁý ÄÁÆ®·ÑÀ» ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ¿¹¸¦ µé¾î ÄÞº¸ »óÀÚ ¼ºêŬ·¡½ÌÇÏ ¸é À» ÂüÁ¶ ÇϽʽÿÀ.
ÇÏÀ§ ÇÁ·Î½ÃÀú¸¦ ó¸® ÇÏ´Â °æ¿ì´Â WM_PAINT ¸Þ½ÃÁö¸¦ »ç¿ë ÇØ¾ß ÇÕ´Ï´Ù¸¦ BeginPaint ÇÔ¼ö ±×¸²¿¡ ´ë ÇÑ Áغñ¸¦ ÇÕ´Ï´Ù. È£Ãâ Çϱâ Àü¿¡ EndPaint ±â´É, ±×°Í â ÇÁ·Î½ÃÀú¿¡ ´ë ÇÑ wParam ¸Å°³ ÀåÄ¡ ÄÁÅؽºÆ® (DC) ÇÚµéÀ» Àü´Þ ÇÕ´Ï´Ù. Ŭ·¡½º â ÇÁ·Î½ÃÀú¿¡¼ EndPaint â Àüü¸¦ À¯È¿¼ºÀ» °Ë»ç Çϱ⠶§¹®¿¡ ¾Æ¹« ±×¸²Áö ¾Ê½À´Ï´Ù EndPaint ¸¦ ¸ÕÀú È£Ãâ ÇÏ´Â °æ¿ì.
¼ºêŬ·¡½Ì °ü·Ã ±â¼úÀ» superclassingÀÌ´Ù. ¼öÆÛ Å¬·¡½º Á¦¿Ü ÇÏ °í´Â â ÇÁ·Î½ÃÀú DefWindowProc ó¸® µÇÁö ¾ÊÀº ¸Þ½ÃÁö¸¦ ó¸® Çϱâ À§ÇØ È£Ãâ ÇÏÁö ¾Ê½À´Ï´Ù ´Ù¸¥ Ŭ·¡½º¸¦ ´à¾Ò´Ù. ´ë½Å, ±×°ÍÀº ºÎ¸ð â Ŭ·¡½º¿¡ ´ë ÇÑ Ã¢ ÇÁ·Î½ÃÀú¸¦ ó¸® µÇÁö ¾ÊÀº ¸Þ½ÃÁö¸¦ Àü´ÞÇÕ´Ï´Ù. ¼ºêŬ·¡½Ì ¹× superclassing ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®Á¦¸¦ ¹æÁö ÇÏ·Á¸é â ÇÁ·Î½ÃÀú ¿¡¼ Áöħ¿¡ µû¶ó.