»ö ´ëÈ »óÀÚ¸¦ »ç¿ëÀÚ ÁöÁ¤ ÇÏ·Á¸é ´ÙÀ½ ¹æ¹ý Áß Çϳª¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.:
CHOOSECOLOR ±¸Á¶ÀÇ Ç÷¡±× ±¸¼º¿ø¿¡¼ Ç÷¡±×¸¦ ¼³Á¤ ÇÏ ¿© ¸ð¾ç°ú »ö ´ëÈ »óÀÚ¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ´Ü»ö »ö¸¸À» Ç¥½Ã ÇÏ·Á¸é ´ëÈ »óÀÚ¸¦ Á÷Á¢ CC_SOLIDCOLOR Ç÷¡±×¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÈ »óÀÚ Ã³À½ ºí·¢ ÀÌ¿ÜÀÇ »ö»óÀ» ¼±ÅÃ, CC_RGBINIT Ç÷¡±×¸¦ ¼³Á¤ ÇÏ °í rgbResult ¸â¹ö¿¡ »öÀ» ÁöÁ¤ ÇÏ·Á¸é.
Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù »ç¿ëÀÚ ÁöÁ¤ ¼½Ä ÆÄÀÏ »ö ´ëÈ »óÀÚ¿¡ ´ë ÇÑ ¿¹¸¦ µé¾î, ÀÀ¿ë ÇÁ·Î±×·¥¿¡ °íÀ¯ÇÑ Ãß°¡ ÄÁÆ®·Ñ Æ÷ÇÔ ÇÏ·Á´Â °æ¿ì. ChooseColor ÇÔ¼ö´Â ±âº» ÅÛÇø´ ´ë½Å »ç¿ëÀÚ ÁöÁ¤ ¼½Ä ÆÄÀÏ »ç¿ë.
???»ö ´ëÈ »óÀÚ¿¡ ´ë ÇÑ »ç¿ëÀÚ ÁöÁ¤ ¼½Ä ÆÄÀÏÀ» Á¦°ø Çϱâ À§ÇØ-¶Ç´Â-
»ö ´ëÈ »óÀÚ¿¡ ´ë ÇÑ CCHookProc ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ÈÄÅ© ÇÁ·Î½ÃÀú´Â ´ëÈ »óÀÚ¿¡ º¸³»´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÈ »óÀÚÀÇ µ¿ÀÛÀ» Á¦¾î ÇÏ·Á¸é µî·ÏµÈ ¸Þ½ÃÁö¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. »ç¿ëÀÚ ÁöÁ¤ ÅÛÇø´À» »ç¿ë ÇÏ ¿© Ãß°¡ ÄÁÆ®·ÑÀ» Á¤ÀÇ ÇÏ´Â °æ¿ì ÄÁÆ®·Ñ¿¡ ´ë ÇÑ ÀÔ·ÂÀ» ó¸® ÇÏ´Â ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ Á¦°ø ÇØ¾ß ÇÕ´Ï´Ù.
???»ö ´ëÈ »óÀÚ ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ »ç¿ë ÇÏ·Á¸éWM_INITDIALOG ¸Þ½ÃÁö¸¦ ó¸® ÇÑ ÈÄ ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú ÈÄÅ© ÇÁ·Î½ÃÀú´Â WM_INITDIALOG ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. ÀÌ ¸Þ½ÃÁöÀÇ lParam ¸Å°³ º¯¼ö ´ëÈ »óÀÚ¸¦ ÃʱâÈ ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â CHOOSECOLOR ±¸Á¶ Æ÷ÀÎÅÍÀÔ´Ï´Ù.
È®ÀÎ ´ÜÃ߸¦ Ŭ¸¯ÇÒ ¶§ ´ëÈ »óÀÚ ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ COLOROKSTRING µî·Ï µÈ ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. ÈÄÅ© ÇÁ·Î½ÃÀú ¼±ÅÃÇÑ »ö»óÀ» °ÅºÎ ÇÏ °íÀÌ ¸Þ½ÃÁö¸¦ ¹ÞÀ» ¶§ 0À» ¹Ýȯ ÇÔÀ¸·Î½á ¿·Á ´ëÈ »óÀÚ¸¦ °Á¦·Î ¼ö ÀÖ½À´Ï´Ù. ÈÄÅ© ÇÁ·Î½ÃÀú´Â ´ëÈ »óÀÚ¸¦ SETRGBSTRING µî·Ï µÈ ¸Þ½ÃÁö¸¦ Àü¼Û ÇÏ ¿© ƯÁ¤ »ö»óÀ» ¼±Åà ÇÏ·Á¸é ´ëÈ »óÀÚ¸¦ °Á¦·Î ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ µî·Ï µÈ ¸Þ½ÃÁö¸¦ »ç¿ë ÇÏ·Á¸é ¸Þ½ÃÁö ½Äº°ÀÚ¸¦ RegisterWindowMessage ÇÔ¼ö¿¡ COLOROKSTRING ¹× SETRGBSTRING »ó¼ö¸¦ Àü´Þ ÇØ¾ß ÇÕ´Ï´Ù. °Ë»ö ÇÏ °í ´ëÈ »óÀÚ¿¡¼ º¸³½ ¸Þ½ÃÁö¸¦ ó¸® Çϰųª ´ëÈ »óÀÚ ¸Þ½ÃÁö¸¦ º¸³¾ ´ÙÀ½ ½Äº°ÀÚ¸¦ »ç¿ë.