CFHookProc ÈÄÅ© ÇÁ·Î½ÃÀú ChooseFont ÇÔ¼ö¸¦ ÇÔ²² »ç¿ë ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥ Á¤ÀÇ ¶Ç´Â ¶óÀ̺귯¸® Á¤ÀÇ Äݹé ÇÁ·Î½ÃÀú°¡ÀÔ´Ï´Ù. ÈÄÅ© ÇÁ·Î½ÃÀú ¸Þ½ÃÁö ¶Ç´Â ±Û²Ã °ø¿ë ´ëÈ »óÀÚÀÇ ±âº» ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú¸¦ À§ÇÑ ¾Ë¸² ¼ö½Å.
LPCFHOOKPROC Çü½ÄÀºÀÌ Äݹé ÇÔ¼ö¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù. CFHookProc Àº ÀÀ¿ë ÇÁ·Î±×·¥ Á¤ÀÇ ÇÔ¼ö À̸§¿¡ ´ë ÇÑ ÀÚ¸® Ç¥½ÃÀÚ.
UINT Äݹé CFHookProc ( HWND hdlg, / / ´ëÈ »óÀÚ Ã¢¿¡ ´ë ÇÑ ÇÚµéUINTuiMsg, / / ¸Þ½ÃÁö ½Äº°ÀÚWPARAMwParam, / / ¸Þ½ÃÁö ¸Å°³ º¯¼öLPARAMlParam / / ¸Þ½ÃÁö ¸Å°³ º¯¼ö);
LParam °ª ÁöÁ¤ ÀÏ¹Ý ´ëÈ »óÀÚ¸¦ ¸¸µé ¶§ Æ÷ÇÔ µÈ CHOOSEFONT ±¸Á¶¿¡ ´ë ÇÑ Æ÷ÀÎÅÍ´Â uiMsg ¸Å°³ º¯¼ö WM_INITDIALOG ¸Þ½ÃÁö¸¦ ³ªÅ¸³»´Â °æ¿ì.
ÈÄÅ© ÇÁ·Î½ÃÀú 0À» ¹Ýȯ ÇÏ´Â °æ¿ì ±âº» ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú°¡ ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â.
ÈÄÅ© ÇÁ·Î½ÃÀú´Â 0ÀÌ ¾Æ´Ñ °ªÀ» ¹Ýȯ ÇÏ´Â °æ¿ì ±âº» ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú¿¡¼ ¸Þ½ÃÁö¸¦ ¹«½Ã ÇÏ´Â.
ChooseFont ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© ±Û²Ã ´ëÈ »óÀÚ¸¦ ¸¸µé ¶§ CFHookProc ÈÄÅ© ÇÁ·Î½ÃÀú ¸Þ½ÃÁö ¶Ç´Â ¾Ë¸² ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú¸¦ À§ÇÑ Ã³¸®¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÈ »óÀÚ »ý¼º ÇÔ¼ö¿¡ Àü´Þ ÇÏ´Â CHOOSEFONT ±¸Á¶¸¦ »ç¿ë ÇÏ ¿© ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ »ç¿ë ÇÕ´Ï´Ù. LpfnHook ¸â¹ö¿¡¼ ÈÄÅ© ÇÁ·Î½ÃÀúÀÇ ÁÖ¼Ò¸¦ ÁöÁ¤ ÇÏ °í Ç÷¡±× ±¸¼º¿ø¿¡¼ CF_ENABLEHOOK Ç÷¡±×¸¦ ÁöÁ¤.
±âº» ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú ÈÄÅ© ÇÁ·Î½ÃÀú¿¡ Àü´Þ Çϱâ Àü¿¡ WM_INITDIALOG ¸Þ½ÃÁö¸¦ ó¸® ÇÕ´Ï´Ù. ´Ù¸¥ ¸ðµç ¸Þ½ÃÁö¿¡ ´ë ÇÑ ÈÄÅ© ÇÁ·Î½ÃÀú ¸Þ½ÃÁö¸¦ ¸ÕÀú ¹Þ½À´Ï´Ù. ±×·± ´ÙÀ½, ÈÄÅ© ÇÁ·Î½ÃÀúÀÇ ¹Ýȯ °ª ±âº» ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú°¡ ¸Þ½ÃÁö¸¦ ó¸® ¶Ç´Â ¹«½Ã ¿©ºÎ °áÁ¤.
ÈÄÅ© ÇÁ·Î½ÃÀú´Â WM_CTLCOLORDLG ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â °æ¿ì ´ëÈ »óÀÚÀÇ ¹è°æ ±×¸²¿¡ ´ë ÇÑ À¯È¿ÇÑ ºê·¯½Ã ÇÚµéÀ» ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ÈÄÅ© ÇÁ·Î½ÃÀú WM_CTLCOLOR * ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â °æ¿ì ±×°ÍÀº ÁöÁ¤µÈ µÈ ÄÁÆ®·ÑÀÇ ¹è°æ ±×¸²¿¡ ´ë ÇÑ À¯È¿ÇÑ ºê·¯½Ã ÇÚµéÀ» ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù.
ÈÄÅ© ÇÁ·Î½ÃÀú¿¡¼ EndDialog ÇÔ¼ö¸¦ È£Ãâ ÇÏÁö ¸¶½Ê½Ã¿À. ´ë½Å, ÈÄÅ© ÇÁ·Î½ÃÀú ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú¸¦ IDABORT °ª°ú ÇÔ²² WM_COMMAND ¸Þ½ÃÁö¸¦ °Ô½Ã ÇÏ·Á¸é postmessage ¸¦ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. IDABORT °Ô½Ã ´ëÈ »óÀÚ°¡ ´ÝÈ÷°í ´ëÈ »óÀÚ ÇÔ¼ö´Â FALSE¸¦ ¹Ýȯ Çϸé. ÈÄÅ© ÇÁ·Î½ÃÀú ¹× ÀÀ¿ë ÇÁ·Î±×·¥ °£ÀÇ Åë½Å ¸ÞÄ¿´ÏÁòÀ» Á¦°ø ÇØ¾ß ÇÕ´Ï´Ù ÈÄÅ© ÇÁ·Î½ÃÀú ´ëÈ »óÀÚ¸¦ Á¾·á ÇÏ´Â ÀÌÀ¯¸¦ ¾Ë°í ÇØ¾ß ÇÏ´Â °æ¿ì.
ÀÏ¹Ý ´ëÈ »óÀÚÀÇ Ç¥ÁØ ÄÁÆ®·ÑÀ» ¼ºê Ŭ·¡½º ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀϹÝÀûÀÎ ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú°¡ ÀÖ½À´Ï´Ù ¶ÇÇÑ ÇÏÀ§ ÄÁÆ®·ÑÀ». ¶§¹®¿¡ ÈÄÅ© ÇÁ·Î½ÃÀú´Â WM_INITDIALOG ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â °æ¿ì ÇÏÀ§ ÄÁÆ®·ÑÀ» ÇÑ´Ù. ÀÌ·¸°Ô Çϸé ÇÏÀ§ ÇÁ·Î½ÃÀú ÇÏÀ§ ÇÁ·Î½ÃÀú ´ëÈ »óÀÚ ÇÁ·Î½ÃÀú¿¡¼ ¼³Á¤ Çϱâ Àü¿¡ ÄÁÆ®·ÑÀÌ Æ¯Á¤ ¸Þ½ÃÁö¸¦ ¼ö½Å.
nbsp;?Windows &NT: ¹öÀü 3.1 ÀÌ»óÀÌ ÇÊ¿ä ÇÕ´Ï´Ù.
Windows:Windows 95 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Windows CE:Áö¿ø µÇÁö ¾Ê½À´Ï´Ù.
Çì´õ:Commdlg.h¿¡ ¼±¾ð ÇÕ´Ï´Ù.
°¡Á®¿À±â ¶óÀ̺귯¸®:»ç¿ëÀÚ Á¤ÀÇ.
°ø¿ë ´ëÈ »óÀÚ ¶óÀ̺귯¸® °³¿ä, °øÅë ´ëÈ »óÀÚ ÇÔ¼ö ChooseFont, CHOOSEFONT, EndDialog, postmessage¸¦, WM_INITDIALOG, WM_CTLCOLORDLG