³ª. ¼±Åà °ü·Ã º¯¼ö

¼±Åÿ¡ °ü·ÃµÈ º¯¼ö´Â ´ÙÀ½ 7°¡Áö°¡ ÇÊ¿äÇÏ´Ù. ¼±ÅÃÀº µ¿ÀÛÀÓ°ú µ¿½Ã¿¡ ¹®¼­ÀÇ »óÅÂÀ̱⵵ ÇϹǷΠÇöÀç »óŸ¦ ÀúÀåÇÒ º¯¼ö°¡ ¸¹ÀÌ ÇÊ¿äÇÏ´Ù.

 

int SelStart, SelEnd;

BOOL bCapture;

COLORREF SelFore, SelBack;

int HideSelType;

 

SelStart, SelEnd´Â À̸§¿¡¼­µµ ¾Ë ¼ö ÀÖµíÀÌ ÇöÀç ¼±ÅõǾî ÀÖ´Â ºí·ÏÀÇ ½ÃÀÛ ¿ÀÇÁ¼Â°ú ³¡ ¿ÀÇÁ¼ÂÀÌ´Ù. ÀÌ µÎ ¿ÀÇÁ¼Â »çÀÌÀÇ ¹®ÀÚ¿­ÀÌ ¼±Åà »óÅ°¡ µÇ¸ç µÎ °ªÀÌ °°À¸¸é ¼±Åÿµ¿ªÀÌ ¾ø´Â »óÅ°¡ µÈ´Ù. ¿¹¸¦ µé¾î SelStart°¡ 7ÀÌ°í SelEnd°¡ 15¶ó¸é À̶§ ¹®¼­ÀÇ ¼±Åà »óÅ´ ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.

¸¶¿ì½º³ª Å°º¸µå ¼±Åà ·çƾ¿¡¼­ ÀÌ µÎ º¯¼öÀÇ °ªÀ» ÀûÀýÈ÷ ¹Ù²Ù´Â °ÍÀÌ ¼±Åà ±â´ÉÀÇ ÁÖµÈ ÀÛ¾÷ÀÌ´Ù. Ãâ·Â·çƾÀº ÀÌ µÎ º¯¼ö·ÎºÎÅÍ ¼±Åÿµ¿ªÀÇ ¹üÀ§¸¦ ±¸ÇØ ¹ÝÀü½ÃÄÑ º¸¿©ÁÙ °ÍÀ̸ç Ŭ¸³º¸µå °ü·Ã ·çƾµµ ÀÌ º¯¼ö·ÎºÎÅÍ º¹»çÇÒ ¿µ¿ªÀ» ±¸Çس½´Ù. ÁÖÀÇÇÒ °ÍÀº ¼±ÅÃÀÇ ½ÃÀÛÁ¡Àº ¼±Åÿµ¿ª¿¡ Æ÷ÇÔµÇ¸ç ¼±ÅÃÀÇ ³¡Á¡Àº ¼±Åÿµ¿ª¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. ÀÌ·± ¿øÄ¢¿¡ ´ëÇؼ­´Â ¾Õ¿¡¼­µµ ÀÌ¹Ì ³íÇÑ ÀûÀÌ ÀÖ´Ù.

bCapture´Â ¸¶¿ì½º ¹öÆ°À» Ŭ¸¯ÇÑ Ã¤·Î µå·¡±×ÇÒ ¶§ Ä¿¼­¸¦ ĸóÇϱâ À§ÇÑ º¯¼öÀ̸ç SelFore, SelBackÀº ¼±Åÿµ¿ªÀ» ±×¸± ¶§ »ç¿ëÇÒ Àü°æ»ö°ú ¹è°æ»öÀÌ´Ù. HideSelTypeÀº ÆíÁý±â°¡ Æ÷Ä¿½º¸¦ ÀÒ¾úÀ» ¶§ ¼±Åÿµ¿ªÀ» ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÏ´Â ¿É¼Ç°ªÀ̸ç Àá½Ã ÈÄ¿¡ ½Ç½ÀÇØ º¼ °ÍÀÌ´Ù. ÀÌ º¯¼öµéÀº OnCreate¿Í OnSetFocus¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÃʱâÈ­ÇÑ´Ù.

 

BOOL OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)

{

     ....

     SelStart=SelEnd=0;

     bCapture=FALSE;

     HideSelType=1;

 

     return TRUE;

}

 

void OnSetFocus(HWND hWnd, HWND hwndOldFocus)

{

     SetCaret(FALSE,FALSE);

 

     SelFore=GetSysColor(COLOR_HIGHLIGHTTEXT);

     SelBack=GetSysColor(COLOR_HIGHLIGHT);

}

 

ÃÖÃÊ ¼±Åÿµ¿ªÀº ¾øÀ¸¸ç ĸóµµ µÇ¾î ÀÖÁö ¾Ê´Ù. ¼±Åÿµ¿ªÀÇ ¹è°æ»ö°ú Àü°æ»öÀº ½Ã½ºÅÛ »ö»óÀ¸·ÎºÎÅÍ ±¸Çϴµ¥ º¸Åë ¹è°æ»öÀº ÆĶõ»öÀÌ°í Àü°æ»öÀº Èò»öÀÌ´Ù. ÇÏÁö¸¸ ±×·¸´Ù°í Çؼ­ RGB¸ÅÅ©·Î·Î ÆĶõ»ö°ú Èò»öÀ» Á÷Á¢ ÁöÁ¤ÇÏ´Â °ÍÀº ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ¸¸é ¹Ýµå½Ã GetSysColor ÇÔ¼ö·Î ½Ã½ºÅÛ »ö»óÀ» Á¶»çÇØ¾ß ÇÑ´Ù. »ç¶÷¸¶´Ù ÁÁ¾ÆÇÏ´Â »ö»óÀÌ ´Ù¸¥µ¥ ÀÌ ¼³Á¤»óŸ¦ ¹«½ÃÇÏ¸é ¾ÈµÈ´Ù.