ÇÑ±Û IME (Input Method Editing)¸¦ ±¸Çö

ÀÌ ³»¿ëÀº "ÇÑÄÄ ÇÁ·¹½º"¿¡¼­ ³ª¿Â "µû¶óÇغ¸¼¼¿ä Visual C++ 6" ¿¡¼­ °¡Á®¿Â ³»¿ëÀÔ´Ï´Ù.

 

 IME¸¦ ±¸ÇöÇÑ´Ù°í Çؼ­ Á÷Á¢ IME¸¦ ¸¸µé¾îº¸ÀÚ´Â °ÍÀº ¾Æ´Ï°í, À§ÀÇ ±×¸²Ã³·³ »óŹٿ¡ ÇѱÛ/¿µ¹® »óŸ¦ ±¸º°ÇÒ ¼ö ÀÖµµ·Ï Ãâ·ÂÇÏÀÚ´Â °ÍÀÌ´Ù.

 ¹Ì±¹ MS¿¡¼­ ¸¸µç Visual C++ 6.0Àº ±âº»ÀûÀ¸·Î ÇÑ±Û IME ±â´ÉÀ» Á¦°øÇÏÁö ¾Ê±â ¶§¹®¿¡ °³¹ßÀÚ ½º½º·Î ÇÑ±Û IME¿¡¼­ ¹ß»ýµÇ´Â ¸Þ½ÃÁö¸¦ ºä¿¡¼­ Àâ¾Æ ó¸®ÇØ¾ß ÇÑ´Ù. ÇÑ±Û ºñÁÖ¾ó º£ÀÌÁ÷ 5.0°ú 6.0¿¡¼­´Â ±âº»À¸·Î ÇÑ±Û IME ±â´ÉÀÌ ±âº»À¸·Î Á¦°øµÇ°í ÀÖ´Ù.

 ¿©±â¼­´Â ÇÑ/¿µ Å°¸¦ ´©¸£¸é Çѱ۰ú ¿µ¹®ÀÌ ¹Ù²î¸ç Ãâ·ÂµÇ°í, ±× ÆäÀÎ À§¿¡¼­ ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´­·¯µµ ÇÑ¿µÀÌ ¹Ù²îµµ·Ï ±¸ÇöÇÑ´Ù.

1. StdAfx.h ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Imm.h ÆÄÀÏÀ» ÀÎŬ·çµå ÇÑ´Ù.

 

2. ºäÀÇ Çì´õÆÄÀÏÀ» ¿¬´Ù. Ŭ·¡½º À§Àúµå¿¡¼­ Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ ´ÙÀ½Ã³·³ Á÷Á¢ Äڵ带 ±â¼úÇÑ´Ù.

 

3. ºäÀÇ cpp ÆÄÀÏ¿¡µµ ´ÙÀ½Ã³·³ ÇÑ ÁÙÀ» Ãß°¡ÇÑ´Ù.

 

4. À§¿¡¼­Ã³·³ Ãß°¡ÇÑ ¸Þ½ÃÁö¿¡ ´ëÇÑ Çڵ鷯 Äڵ带 ºäÀÇ cpp ÆÄÀÏ¿¡ ÀÛ¼ºÇÑ´Ù.

 

5. 4¹ø¿¡¼­ ¸ÞÀÎ ÇÁ·¹ÀÓ Å¬·¡½º¿¡ Á¢±ÙÇϱâ À§Çؼ­ ºäÀÇ cpp ÆÄÀÏ¿¡ ´ÙÀ½Ã³·³ ¸ÞÀÎ ÇÁ·¹ÀÓÀÇ Çì´õÆÄÀÏÀ» ÀÎŬ·çµå ÇÑ´Ù.

 ±×¸®°í m_wndStatusBar¿¡ Á¢±ÙÇϱâ À§ÇØ MainFrm.h ÆÄÀÏ¿¡ Á¤ÀǵǾî ÀÖ´Â CStatusBarÀÇ º¯¼ö m_wndStatusBar¸¦ private¿¡¼­ publicÀ¸·Î º¯°æÇÑ´Ù.

 

6. 5¹ø±îÁö ÀÛ¼ºÇÑ »óÅ·ΠÄÄÆÄÀÏÀ» Çϸé Ãʱ⿡ ÇÑ/¿µ ÀÌ Ãâ·ÂµÇÁö ¾Ê´Ù°¡ ÇÑ/¿µ Å°¸¦ ´©¸¥ ´ÙÀ½ºÎÅÍ Á¦´ë·Î µ¿ÀÛÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

 ÀÌ°ÍÀ» ÇØ°áÇϱâ À§ÇØ ºäÀÇ OnInitialUpdate() ÇÔ¼ö¿¡ OnIMENotify() ÇÔ¼öÀÇ ³»¿ëÀ» Çѹø ´õ Àû´Â´Ù.

 

7. »óŹÙÀÇ ÇÑ/¿µ ÆäÀÎÀ» ¸¶¿ì½ºÀÇ ¿ÞÂʹöÆ°À» ´©¸¦ ¶§¸¶´Ù ¹Ù²îµµ·Ï ¸¸µé±â À§ÇØ ¸î °¡Áö ÀÛ¾÷À» ÇØ¾ß ÇÏ°Ú´Ù. ¿ì¼± CStatusBar¿¡¼­ ÆÄ»ýµÈ CMyStatusBar Ŭ·¡½º¸¦ »õ·Î ¸¸µç´Ù. Ŭ·¡½º À§Àúµå¿¡¼­ CStatusBar¸¦ º£À̽º Ŭ·¡½º·Î Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ CStatusBarCtrl¿¡¼­ ÆÄ»ý½ÃŲ ÈÄ CStatusBarCtrlÀ» CStatusBar·Î ¸ðµÎ ¹Ù²Û´Ù. (Çì´õÆÄÀÏ°ú cpp ÆÄÀÏ ¸ðµÎ)

 ±×·¯´ÙÀ½ WM_LBUTTONDOWN ¸Þ½ÃÁö¸¦ ¿À¹ö¶óÀ̵åÇÑ´Ù.

 

8. ÇÑ±Û IMEÀÇ DLLÀÎ imm32.dllÀ» ÀÓÆ÷Æ®Çϱâ À§ÇØ imm32.lib¸¦ ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡ÇÑ´Ù.

Âü°í»çÇ×

GetItemRect

 

PtInRect

 

SetPaneText

-  the end of this article -