¶ó. ¸¶¿ì½º·Î ¼±ÅÃÇϱâ

¼±Åÿµ¿ªÀ» Ç¥½ÃÇÏ´Â ±â´ÉÀ» ´Ù ÀÛ¼ºÇß´Ù. ÀÌÁ¦ ¸¶¿ì½ºÀÇ ¿òÁ÷ÀÓ¿¡ µû¶ó SelStart¿Í SelEnd¸¸ Àß Á¶Á¤ÇÏ°í ÀÛ¾÷¿µ¿ªÀ» ¹«È¿È­½ÃÅ°¸é ³ª¸ÓÁö ÀÛ¾÷Àº OnPaint¿Í ±× ÀÏ´çµéÀÌ ¾Ë¾Æ¼­ ÇÒ °ÍÀÌ´Ù. ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ÇÁ·Î±×·¡¹ÖÇغ¸µµ·Ï ÇÏÀÚ. ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» Ŭ¸¯ÇÏ¸é ºí·Ï¼±ÅÃÀ» ½ÃÀÛÇÑ´Ù.

 

void OnLButtonDown(HWND hWnd, BOOL fDoubleClick, int x, int y, UINT keyFlags)

{

     if (SelStart != SelEnd) {

          SelStart=SelEnd=0;

          InvalidateRect(hWnd,NULL,TRUE);

     }

 

     off=GetOffFromXY(x+xPos,y+yPos);

     SelStart=SelEnd=off;

     SetCapture(hWnd);

     bCapture=TRUE;

     SetCaret();

}

 

¾ÕÂÊ Á¶°Ç¹®Àº ¼±Åÿµ¿ªÀÌ ÀÖÀ¸¸é ÇØÁ¦ÇÏ´Â ¹®ÀåÀÌ´Ù. ÀÌ¹Ì ¼±ÅõǾî ÀÖ´Â »óÅ¿¡¼­ Ŭ¸¯ÇÏ¸é »õ·Î¿î ¼±Åÿµ¿ªÀ» ÁöÁ¤ÇØ¾ß ÇϹǷΠ±âÁ¸ÀÇ ¼±Åÿµ¿ªÀº Á¦°ÅÇØ¾ß ÇÑ´Ù. ¼±Åÿµ¿ªÀ» Á¦°ÅÇÏ·Á¸é SelStart¿Í SelEnd¸¦ ¸ðµÎ 0À¸·Î ¸¸µé¾î ÁÖ°í È­¸éÀ» ¹«È¿È­ÇÏ¸é µÈ´Ù.

¹öÆ°À» Ŭ¸¯ÇÑ À§Ä¡°¡ °ð ÇöÀç ij·µ À§Ä¡°¡ µÇ´Âµ¥ ÀÌ À§Ä¡´Â ¼±ÅÃÀÇ ½ÃÀÛÁ¡ÀÌ µÇ¸ç µ¿½Ã¿¡ ¼±ÅÃÀÇ ³¡Á¡ÀÌ µÇ±âµµ ÇÑ´Ù. ±×·¡¼­ ¹öÆ°À» Ŭ¸¯ÇÑ »óÅ¿¡¼­´Â ij·µ¸¸ À̵¿ÇÏ°í ¼±Åÿµ¿ªÀº ¾ÆÁ÷ ¾ø´Ù. ÀÌ »óÅ·Π¸¶¿ì½º¸¦ ¿òÁ÷À̸é SelStart´Â ±×´ë·Î µÎ°í SelEnd°¡ ¸¶¿ì½º¸¦ ÂÑ¾Æ °¨À¸·Î½á ¼±Åÿµ¿ªÀÌ È®ÀåµÉ °ÍÀÌ´Ù. ºí·Ï¼±ÅÃÀÌ ½ÃÀ۵Ǹé Ä¿¼­°¡ ÀÛ¾÷¿µ¿ªÀ» ¹þ¾î³ªµµ °è¼Ó ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ¹Þ¾Æ¾ß ÇϹǷΠĿ¼­¸¦ ĸóÇÏ¿´´Ù. ¸¶¿ì½º°¡ À̵¿ÇÒ ¶§ÀÇ Ã³¸®´Â ´ÙÀ½°ú °°´Ù.

 

void OnMouseMove(HWND hWnd, int x, int y, UINT keyFlags)

{

     if (bCapture == FALSE) {

          return;

     }

 

     off=SelEnd=GetOffFromXY(x+xPos,y+yPos);

     SetCaret();

     InvalidateRect(hWnd,NULL,TRUE);

}

 

ÀÏ´Ü Ä¸Ã³ »óÅ°¡ ¾Æ´Ï¸é, Áï ¼±ÅÃÀ» ÇÏ°í ÀÖ´Â ÁßÀÌ ¾Æ´Ï¸é °ð¹Ù·Î ¸®ÅÏÇÏ¿© ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. ±×·¡¼­ ÀÌ ·çƾÀº ¸¶¿ì½º ¹öÆ°À» Ŭ¸¯ÇÑ »óÅ¿¡¼­¸¸ ½ÇÇàµÈ´Ù. Ä¿¼­°¡ ÀÖ´Â À§Ä¡°¡ »õ·Î¿î ÇöÀç À§Ä¡°¡ µÇ¸ç ¼±ÅÃÀÇ ³¡Á¡µµ ÀÌ À§Ä¡·Î È®ÀåµÈ´Ù. ij·µÀ» À̵¿½ÃÅ°°í È­¸éÀ» ´Ù½Ã ±×¸®¸é ¸¶¿ì½º°¡ À̵¿ÇÑ ¸¸Å­ ¼±Åÿµ¿ªÀÌ È®ÀåµÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ¸¶Áö¸·À¸·Î ¹öÆ°À» ³õÀ» ¶§´Â ¸¶¿ì½º ĸó¸¸ Ç®¾îÁÖ¸é µÈ´Ù.

 

void OnLButtonUp(HWND hWnd, int x, int y, UINT keyFlags)

{

     bCapture=FALSE;

     ReleaseCapture();

}

 

ĸó¸¦ Ç®¸é ÀÌÁ¦ ¼±ÅÃÀÌ ³¡³ª¸ç OnMouseMove¿¡¼­´Â ´õ ÀÌ»ó ¼±Åÿµ¿ªÀ» È®ÀåÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ¸¶¿ì½º·Î ¼±Åÿµ¿ªÀ» ¸¸µå´Â 󸮰¡ ¿Ï·áµÇ¾ú´Ù. ½ÇÇàÇغ¸¸é Àß ¼±ÅÃµÉ °ÍÀÌ´Ù.