¶ó. À¯Æ¿¸®Æ¼ ÇÔ¼ö

À¯Æ¿¸®Æ¼ ÇÔ¼ö¶õ ¿©·¯ °¡Áö °è»ê°ú 󸮸¦ ´ë½ÅÇÏ´Â ÀϹÝÇÔ¼öµéÀÌ´Ù. ¹Ýº¹ÀûÀ¸·Î »ç¿ëµÇ¹Ç·Î Àß ÀÛ¼ºÇصξî¾ß ÀÌÈÄÀÇ ÀÛ¾÷ÀÌ ½¬¿öÁø´Ù. Ime3¿¡ ÀÖ´ø SetCaret, Insert µîÀÇ ÇÔ¼ö°¡ ¹Ù·Î À¯Æ¿¸®Æ¼ ÇÔ¼öµéÀÌ¸ç ¼ö½Ã·Î È£ÃâµÇ¾î ij·µÀ» ¿Å±â°í ¹®ÀÚ¿­À» »ðÀÔÇÑ´Ù. ¿©·¯ ÁÙ ÆíÁýÀ» À§Çؼ­´Â ´ÙÀ½°ú °°Àº À¯Æ¿¸®Æ¼ ÇÔ¼öµéÀÌ ÇÊ¿äÇÏ´Ù. ÆÄÀÏ ¼±µÎ¿¡ ¿øÇü ¼±¾ðºÎÅÍ Çϵµ·Ï ÇÏÀÚ.

 

void MySetImeMode(HWND hEdit, BOOL bHan);

int GetLineSub(TCHAR *&p);

void GetLine(int Line, int &s, int &e);

int GetRowCount();

void GetRCFromOff(int nPos, int &r, int &c);

int GetOffFromRC(int r, int c);

void GetXYFromOff(int nPos, int &x, int &y);

 

³ª¸ÓÁö ÇÔ¼öµéÀº õõÈ÷ ÀÛ¼ºÇϱâ·Î ÇÏ°í MySetImeMode ÇÔ¼ö¸¸ ÀÏ´Ü ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.

 

void MySetImeMode(HWND hEdit, BOOL bHan)

{

     HIMC hImc;

     hImc=ImmGetContext(hEdit);

 

     if (bHan == TRUE) {

          ImmSetConversionStatus(hImc,IME_CMODE_NATIVE,IME_SMODE_NONE);

     } else {

          ImmSetConversionStatus(hImc,0,IME_SMODE_NONE);

     }

 

     ImmReleaseContext(hEdit,hImc );

}

 

OnCreate¿¡¼­ ÀÌ ÇÔ¼ö¸¦ °¡º±°Ô È£ÃâÇÑ´Ù.

 

BOOL OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)

{

     HDC hdc;

     TEXTMETRIC tm;

 

    MySetImeMode(hWnd,TRUE);

     bComp=FALSE;

     ....

 

ÀÌ ÇÔ¼ö´Â IME ÀԷ¸ðµå¸¦ º¯È¯Çϴµ¥ ÀÌ¹Ì ¾ÕÀå¿¡¼­ ÀÛ¼ºÇØ º» °ÍÀÌ´Ù. ÀÌ ÇÔ¼ö°¡ Æ÷ÇÔµÈ ÀÌÀ¯´Â ´Ü¼øÈ÷ Å×½ºÆ®ÀÇ ÆíÀǸ¦ À§Çؼ­ÀÌ´Ù. ÆíÁý±â¸¦ ¸¸µé´Ù º¸¸é ¹«¼öÈ÷ Å×½ºÆ®¸¦ ÇØ º¼ ÅÙµ¥ ±×¶§¸¶´Ù ÀÔ·ÂÇÏ´Â ÅؽºÆ®´Â º¸Åë ¡®¿ì¸®´Â ¹ÎÁ· ÁßÈïÀÇ ¿ª»çÀû »ç¸íÀ» ¶ì°í ~¡¯ ³ª ¡®³ª´Â ÀÚ¶û½º·± űر⠾տ¡ ~¡¯ °°Àº ´©±¸³ª ¿Ü¿ì´Â ¹®ÀåÀÏ °ÍÀÌ´Ù.

¶Ç´Â ±â²¯ÇØ¾ß ¡®±â´Ù¸²Àº ¸¸³²À» ¸ñÀûÀ¸·Î ÇÏÁö ¾Ê¾Æµµ ÁÁ´Ù ~¡¯ °°Àº ½Ã ±¸ÀýÀ̳ª ¾Ö±¹°¡ Á¤µµ°¡ ¸¹ÀÌ ¾Ö¿ëµÉ °ÍÀÌ´Ù. Àß µ¹¾Æ°¡´ÂÁö º¸·Á¸é ¹®ÀåÀ» ÀÔ·ÂÇØ ºÁ¾ß Çϴµ¥ Å×½ºÆ®¸¦ Çϸ鼭 Ã¥À» ŸÀÌÇÁÇÒ ¸®´Â ¾ø°í ¿Ü¿ì´Â °Í Áß Çϳª¸¦ ÀÔ·ÂÇÒ ¼ö ¹Û¿¡ ¾ø´Ù. ±×·±µ¥ º¸Åë ¿ì¸®°¡ ¿Ü¿ì´Â ¹®ÀåÀ̶ó´Â °ÍµéÀÌ Çѱ۷ΠµÈ °ÍÀ̹ǷΠ¾Æ¿¹ ½ÃÀÛÇÒ ¶§ºÎÅÍ ÇÑ±Û ÀԷ¸ðµå·Î ½ÃÀÛÇϸé ÆíÇÏÁö ¾Ê°Ú´Â°¡? Æ˼ÛÀ̳ª °ÔƼÁî¹ö±× ¿¬¼³¹® °°Àº °ÍÀ» ¿Ü¿ì°í ÀÖ´Ù¸é ¿µ¹®À¸·Îµµ Å×½ºÆ®ÇÒ ¼ö ÀÖÁö¸¸ ¾Æ¹«·¡µµ Çѱ۸¸Å­ ÆíÇÒ ¸®°¡ ¾ø´Ù.

±×·¡¼­ ÀÌ ÇÔ¼ö°¡ Æ÷ÇԵǾú°í OnCreate¿¡¼­ MySetImeMode(hWnd,TRUE);·Î ÇÑ±Û ÀԷ¸ðµå·Î ½ÃÀÛÇÏ°Ô ÇÏ¿´´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸Å¹ø <Shift+Space>³ª ÇѱÛÅ°¸¦ ´­·¯¾ß µÇ¹Ç·Î ¾ó¸¶³ª ºÒÆíÇϰڴ°¡? ÀÌ ±â´ÉÀº ¿À·ÎÁö ¸ö Á» ÆíÇÏÀÚ°í ÀÖ´Â °ÍÀÌÁö ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù. ¾î·°Å³ª ¡®abcd¡¯º¸´Ù´Â ¡®°¡³ª´Ù¶ó¡¯°¡ ¿ì¸®ÇÑÅ× ´õ Æí¸®ÇÑ ¹®ÀÚÀÎ °ÍÀº ºÐ¸íÇϸç ÀÌÁ¦ ½ÃÀÛÇÏÀÚ ¸¶ÀÚ ÇѱÛÀ» ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. °³¹ßÁß¿¡´Â ÀÌ·± ½ÄÀ¸·Î À°½ÅÀÇ Æí¾ÈÇÔÀ» µµ¸ðÇغ¸´Â °Íµµ ÁÁ´Ù.