³ª. IME ¸Þ½ÃÁö

½Ã½ºÅÛÀº IME À©µµ¿ìÀÇ º¯È­³ª Á¶¸³ ¹®ÀÚ¿­ÀÇ º¯È­ µî IMEÀÇ ¸ðµç »óÅ º¯È­¿¡ ´ëÇØ WM_IME_·Î ½ÃÀ۵Ǵ IME ¸Þ½ÃÁö¸¦ Æ÷Ä¿½º¸¦ °¡Áø À©µµ¿ì¿¡°Ô º¸³½´Ù. ÀÌ ¸Þ½ÃÁöµéÀ» ¹«½ÃÇÏ°í DefWindowProcÀ¸·Î º¸³¾ °æ¿ì °á±¹ ÀÀ¿ë ÇÁ·Î±×·¥Àº ¿Ï¼ºµÈ ¹®ÀÚ¿¡ ´ëÇؼ­¸¸ WM_CHAR ¸Þ½ÃÁö¸¦ ¹Þ°Ô µÉ °ÍÀÌ´Ù. IMEÀÇ º¯È­³ª Á¶¸³ ¹®ÀÚ¿­ÀÇ º¯È­±îÁöµµ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Ã³¸®ÇÏ°í ½Í´Ù¸é ÀÌ ¸Þ½ÃÁöµéÀ» ¹«½ÃÇÏÁö ¸»°í Á÷Á¢ ó¸®ÇØ¾ß ÇÑ´Ù.

IME ¸Þ½ÃÁöÀÇ ¼öµµ ÀûÁö´Â ¾Ê°í ´Ù¼Ò º¹ÀâÇÏÁö¸¸ Çѱۿ¡´Â ÀüÇô ÇØ´çµÇÁö ¾Ê´Â »çÇ×µµ ÀÖÀ¸¹Ç·Î ¿©±â¼­´Â ÀÏ´Ü ÇѱÛÁ¶¸³°ú °ü·ÃµÈ ¸Þ½ÃÁö¸¦ ÁßÁ¡ÀûÀ¸·Î ¾Ë¾Æº¸±â·Î ÇÏ°í ³ª¸ÓÁö ¸Þ½ÃÁö´Â Â÷ÈÄ¿¡ õõÈ÷ µû·Î ¾Ë¾Æ º¸µµ·Ï ÇÏÀÚ.

WM_IME_STARTCOMPOSITION

ÀÌ ¸Þ½ÃÁö´Â IME°¡ Á¶¸³ ¹®ÀÚ¿­À» ¸¸µé±â Á÷Àü¿¡ º¸³½´Ù. Á¶¸³À» ½ÃÀÛÇÑ´Ù´Â ´Ü¼øÇÑ ÅëÁöÀÏ »ÓÀ̹ǷΠwParam, lParamÀ¸·Î Àü´ÞµÇ´Â Àμö´Â ¾øÀ¸¸ç ¸®ÅÏ°ªµµ ¾Æ¹« Àǹ̰¡ ¾ø´Ù. µðÆúÆ® IME À©µµ¿ì¸¦ »ç¿ëÇÑ´Ù¸é ÀÌ ¸Þ½ÃÁö¿¡ °ü½ÉÀ» °¡Áú ÀÌÀ¯°¡ ¾øÁö¸¸ Ä¿½ºÅÒ IME À©µµ¿ì¸¦ ÀÛ¼ºÇÒ °æ¿ì ÀÌ ¸Þ½ÃÁö¸¦ Ä¿½ºÅÒ IME À©µµ¿ì¿¡°Ô Àü´ÞÇØ¾ß ÇÑ´Ù. µðÆúÆ® IME À©µµ¿ì´Â ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ Á¶¸³ À©µµ¿ì¸¦ º¸¿©Áִµ¥ ÀÌ ¸Þ½ÃÁö¸¦ DefWindowProcÀ¸·Î º¸³»Áö ¾ÊÀ¸¸é Á¶¸³ À©µµ¿ì´Â ³ªÅ¸³ªÁö ¾Ê´Â´Ù.

WM_IME_ENDCOMPOSITION

Á¶¸³ÀÌ ³¡³µ´Ù´Â ÅëÁö ¸Þ½ÃÁöÀÌ¸ç ¿ª½Ã Àμö¿Í ¸®ÅÏ°ªÀÌ ¾ø´Ù. Ä¿½ºÅÒ IME À©µµ¿ì¸¦ ÀÛ¼ºÇÏÁö ¾Ê´Â´Ù¸é ¿ª½Ã ÀÌ ¸Þ½ÃÁöµµ ¹«½ÃÇÏ¸é µÈ´Ù.

WM_IME_COMPOSITION

°¡Àå Áß¿äÇÏ°í ÇÙ½ÉÀûÀÎ IME ¸Þ½ÃÁöÀ̸ç Á¶¸³ »óÅ°¡ º¯°æµÉ ¶§¸¶´Ù º¸³»Áø´Ù. ÇѱÛÀÇ °æ¿ì ÇÑ À½¼Ò°¡ ÀÔ·ÂµÉ ¶§¸¶´Ù ÀÌ ¸Þ½ÃÁö°¡ ¹ß»ýÇϴµ¥ Á¶¸³ÁßÀÎ ¹®ÀÚ¸¦ º¸¿©ÁÖ°í ½ÍÀ¸¸é ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇØ¾ß ÇÑ´Ù. wParam¿¡´Â Á¶¸³ÁßÀÎ ¹®ÀÚÀÇ Äڵ尡 Àü´ÞµÇ´Âµ¥ ÀÌ ÄÚµå´Â 2¹ÙÀÌÆ®ÀÇ DBCS ¹®ÀÚ·Î Á¶¸³ÁßÀÎ Áß°£ ¹®ÀÚÄÚµåÀÌ´Ù. lParamÀº Á¶¸³ »óÅ°¡ ¾î¶»°Ô º¯°æµÇ¾ú´ÂÁö, ÀÌ ¹®ÀÚ¸¦ ¾î¶»°Ô ó¸®ÇØ¾ß ÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â Ç÷¡±×ÀÇ ÁýÇÕÀÌ´Ù. ¸¹Àº ¼öÀÇ Ç÷¡±×µéÀÌ ÀÖÁö¸¸ ÇѱÛÀÇ °æ¿ì ´ÙÀ½ µÎ Ç÷¡±×°¡ ƯÈ÷ Áß¿äÇÏ´Ù.

 

GCS_COMPSTR : ¾ÆÁ÷ ¹®ÀÚ¸¦ Á¶¸³ÁßÀ̶ó´Â ¶æÀÌ´Ù. Áï ¾ÆÁ÷ ÇÑ À½ÀýÀÌ ¿Ï¼ºµÇÁö´Â ¾Ê¾Ò´Ù.

GCS_RESULTSTR : ÇÑ À½ÀýÀ» ¿ÏÀüÈ÷ Á¶¸³Çß´Ù´Â ¶æÀÌ´Ù.

 

lParam¿¡ ÀÌ Ç÷¡±×µéÀÌ ÀÖ´ÂÁö¸¦ »ìÆì º¸¸é ¹®ÀÚ°¡ ¿Ï¼ºµÈ °ÍÀÎÁö ¾Æ´Ï¸é ¾ÆÁ÷µµ Á¶¸³ÇÏ°í ÀÖ´Â ÁßÀÎÁö¸¦ ¾Ë ¼ö ÀÖ´Ù.

WM_IME_CHAR

¹®ÀÚ Çϳª°¡ ¿Ï¼ºµÇ¾úÀ» ¶§ º¸³»Áø´Ù. wParamÀ¸·Î ¿Ï¼ºµÈ ¹®ÀÚÀÇ Äڵ尡 Àü´ÞµÇ´Âµ¥ 1¹ÙÀÌÆ® ¹®ÀÚ¸¸ Àü´ÞÇÏ´Â WM_CHAR ¸Þ½ÃÁö¿Í´Â ´Þ¸® ÀÌ ÄÚµå´Â DBCSÀÏ ¼öµµ ÀÖ´Ù. ´Ü ¸ðµç ¹®ÀÚ¸¦ 2¹ÙÀÌÆ®·Î Ãë±ÞÇÏ´Â À¯´ÏÄÚµå À©µµ¿ì¿¡¼­´Â WM_CHAR¿Í WM_IME_CHAR´Â ¿ÏÀüÈ÷ µ¿ÀÏÇØÁø´Ù. ¿Ï¼ºµÈ ¹®ÀÚ¸¦ Á÷Á¢ ó¸®ÇÏ·Á¸é ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ°í ¾Æ´Ï¸é DefWindowProcÀ¸·Î º¸³½´Ù. ÀÌ ¸Þ½ÃÁö¸¦ ¹«½ÃÇϸé ÇÑ±Û ÇÑ ¹®ÀÚ¿¡ ´ëÇØ WM_CHAR ¸Þ½ÃÁö¸¦ µÎ ¹ø ¹Þ°Ô µÉ °ÍÀÌ´Ù.

WM_IME_SETCONTEXT

ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ È°¼º/ºñÈ°¼ºÈ­µÉ ¶§ º¸³»Áø´Ù. wParamÀÌ TRUEÀ̸é È°¼ºÈ­µÇ¾ú´Ù´Â ¶æÀÌ°í FALSEÀÌ¸é ºñÈ°¼ºÈ­µÇ¾ú´Ù´Â ¶æÀÌ´Ù. ÇÑ±Û À©µµ¿ìÁîÀÇ °æ¿ì DefWindowProcÀ¸·Î ÀÌ ¸Þ½ÃÁö¸¦ º¸³»±â¸¸ ÇÏ¸é µÈ´Ù. Ä¿½ºÅÒ IME À©µµ¿ì¸¦ »ý¼ºÇÒ °æ¿ì ÀÌ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ImmIsUIMessage ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Á¶¸³ À©µµ¿ì¿Í Èĺ¸ À©µµ¿ì¸¦ º¸À̵µ·Ï ÇØ¾ß ÇÑ´Ù.

WM_IME_NOTIFY

IME À©µµ¿ì°¡ º¯°æµÇ¾ú´Ù´Â ÅëÁö ¸Þ½ÃÁöÀÌ´Ù. wParamÀ¸·Î ¾î¶² º¯°æÀÎÁö°¡ Àü´ÞµÇ´Âµ¥ ¿¹¸¦ µé¾î Èĺ¸ À©µµ¿ì°¡ ¿­·È´Ù°Å³ª Èĺ¸ ¸ñ·ÏÀÌ º¯°æµÇ¾ú´Ù´Â »ç½ÇÀÌ ÅëÁöµÈ´Ù. ÇÑ±Û ÀÔ·Â, ¿µ¹® ÀԷ¸ðµå¸¦ º¯°æÇÒ ¶§µµ ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. ƯÁ¤ IME À̺¥Æ®¿¡ ¹ÝÀÀÇÏ°íÀÚ ÇÒ ¶§ ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇÑ´Ù.