¸¶¿ì½º¿Í Å°º¸µå, ¸¶Áø¿µ¿ªÀ» ÃÑ µ¿¿øÇؼ °¢Á¾ ¹æ¹ýÀ¸·Î ¼±Åÿµ¿ªÀ» ¸¸µå´Â Äڵ带 ±¸ÇöÇß´Ù. ¼±Åÿµ¿ªÀº ÁַΠŬ¸³º¸µå 󸮸¦ À§ÇØ »ç¿ëµÇÁö¸¸ ¸¶¿ì½º·Î Á÷Á¢ µå·¡±×Çؼ ¹®ÀÚ¿À» º¹»çÇϰųª ¿Å±æ ¼öµµ ÀÖ´Ù. À̶§ »ç¿ëÀÚ¿¡°Ô ÀÚ½ÅÀÌ ¾î¶² ÀÛ¾÷À» ÇÏ°í ÀÖ´ÂÁö¸¦ º¸¿©ÁÖ±â À§ÇØ Ä¿¼¸ð¾çÀ» ¹Ù²Ù´Â °ÍÀÌ ÁÁ´Ù. ÀÌ »óÅ¿¡¼ ¸¶¿ì½º ¹öÆ°À» ³õÀ¸¸é ¹®ÀÚ¿ÀÌ À̵¿µÇ´ÂÁö º¹»çµÇ´ÂÁö¸¦ Ä¿¼¸ð¾çÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
¹®ÀÚ¿ µå·¡±× ±â´ÉÀ» ³Ö±â Àü¿¡ ¸ÕÀú ¼±Åÿµ¿ª¿¡¼ Ä¿¼¸ð¾çÀ» ¹Ù²ãº¸ÀÚ. IÀÚ ¸ð¾çÀÇ Ä¿¼´Â ÀÌ ÀÚ¸®¿¡¼ ¹®ÀÚ¿À» ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù´Â ¶æÀ̹ǷΠÀ̵¿ÀÌ °¡´ÉÇÏ´Ù´Â ¶æÀÇ È»ìÇ¥ ¸ð¾çÀ¸·Î ¹Ù²Ù´Â °ÍÀÌ ´õ Á÷°üÀûÀÌ´Ù. ÀÌ¿Õ Ä¿¼¸ð¾çÀ» ¹Ù²Ù´Â ±è¿¡ ¸¶Áø¿µ¿ª¿¡¼ÀÇ Ä¿¼¸ð¾çµµ °°ÀÌ º¯°æÇÒ °ÍÀÌ´Ù.
¼±Åÿµ¿ª¿¡¼ Ä¿¼¸¦ ´Ù¸£°Ô º¸À̵µ·Ï ÇÏ°í ½ÍÀ¸¸é ƯÁ¤ ÁÂÇ¥°¡ ¼±Åÿµ¿ª ¾È¿¡ ÀÖ´ÂÁö ¾Æ´ÑÁö¸¦ Á¶»çÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ÇÔ¼ö´Â Àμö·Î Àü´ÞµÈ x, y ÁÂÇ¥¿¡ ´ëÇØ ¼±Åÿµ¿ª ¾ÈÀÎÁö Á¶»çÇÑ´Ù. À̶§ Àμö·Î Àü´ÞµÇ´Â x, y´Â ¹®¼»óÀÇ Çȼ¿ ÁÂÇ¥ÀÌ´Ù.
BOOL IsInSelection(int x,int y)
{
int toff;
int r,c;
int ss,se;
int SelFirst, SelSecond;
int x1,y1,x2,y2;
RECT rt;
POINT pt;
if (SelStart == SelEnd) {
return FALSE;
}
SelFirst=min(SelStart,SelEnd);
SelSecond=max(SelStart,SelEnd);
toff=GetOffFromXY(x,y);
GetRCFromOff(toff,r,c);
if (SelFirst > pLine[r].End || SelSecond <= pLine[r].Start) {
return FALSE;
}
if (SelFirst < pLine[r].Start) {
ss=pLine[r].Start;
} else {
ss=SelFirst;
}
if (SelSecond > pLine[r].End) {
se=pLine[r].End;
} else {
se=SelSecond;
}
se=GetPrevOff(se);
GetXYFromOff(ss,x1,y1);
GetXYFromOff(se,x2,y2);
if (IsDBCS(se)) {
x2 += GetCharWidth(buf+se,2);
} else {
x2 += GetCharWidth(buf+se,1);
}
SetRect(&rt,x1,y1,x2,y1+LineHeight);
pt.x=x;
pt.y=y;
if (PtInRect(&rt,pt)) {
return TRUE;
} else {
return FALSE;
}
}
¾ÆÁÖ °£´ÜÇÑ ÀÛ¾÷ÀÎ °Í °°Àºµ¥ ÀÌ ÇÔ¼öÀÇ ±æÀÌ°¡ ¿¹»óº¸´Ù ±æ´Ù. Ä¿¼°¡ ÀÖ´Â ÇöÀç À§Ä¡ÀÇ ¿ÀÇÁ¼ÂÀº GetOffFromXY·Î ±¸ÇÒ ¼ö ÀÖ°í ¼±Åÿµ¿ªÀÇ ¹üÀ§´Â SelStat, SelEnd·Î ¾Ë ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¿ÀÇÁ¼ÂÀ» ºñ±³Çؼ ¼±Åÿµ¿ª ³»ºÎÀÎÁö ¾Ë¾Æ³»´Â ¹æ¹ýÀº µÎ °¡Áö Á¡¿¡¼ ¹®Á¦°¡ ÀÖ´Ù.
ù ¹ø°·Î GetOffFromXY°¡ Á¶»çÇÏ´Â ¿ÀÇÁ¼ÂÀº ±ÛÀÚÀÇ °æ°è¸¦ ±âÁØÀ¸·Î ÇÏÁö ¾Ê°í ±ÛÀÚÆøÀÇ Àý¹ÝÀ» ±âÁØÀ¸·Î Çϱ⠶§¹®¿¡ Á¤È®ÇÑ ¿µ¿ªÁ¶»ç°¡ µÇÁö ¾Ê´Â´Ù. µÎ ¹ø°·Î ¼³»ç ±ÛÀÚÀÇ °æ°è¿¡¼ ¿ÀÇÁ¼ÂÀ» Á¶»çÇÏ´Â ÇÔ¼ö¸¦ ¸¸µç´Ù ÇÏ´õ¶óµµ ¼±Åÿµ¿ªÀÇ Áß°£¿¡ ÀÖ´Â ÁÙ ³¡ ¿©¹é ¶§¹®¿¡ ¿ÀÇÁ¼ÂÀ» ºñ±³ÇÏ´Â ¹æ¹ýÀº ¾µ ¼ö ¾ø´Ù.
±×¸²¿¡¼ ¡®¹Ù·Î ¿©±â¡¯¶ó°í ĪÇÑ Àú±â°¡ ¹®Á¦´Ù. ÀÌ Á¡ÀÇ ¿ÀÇÁ¼ÂÀ» Á¶»çÇϸé ÀÌ ÁÙÀÇ ³¡ÀÎ °³ÇàÄÚµåÀÇ ¿ÀÇÁ¼ÂÀÌ Á¶»çµÉ °ÍÀÌ°í ÀÌ ¿ÀÇÁ¼ÂÀº ºÐ¸íÈ÷ SelStart¿Í SelEnd »çÀÌ¿¡ ÀÖÁö¸¸ ±×·¸´Ù°í ¼±Åÿµ¿ª ¾ÈÀÇ ÁÂÇ¥¶ó°í ÇÒ ¼ö´Â ¾ø´Ù. ±ÛÀÚ°¡ ¾ø´Â ºÎºÐÀ» µå·¡±×Çؼ ¿Å±æ ¼ö´Â ¾ø±â ¶§¹®ÀÌ´Ù. ±×·¡¼ ¿ÀÇÁ¼Â ºñ±³¸¦ Çؼ´Â ¾ÈµÇ¸é Çȼ¿ ÁÂÇ¥³¢¸® ºñ±³¸¦ ÇØ¾ß ÇÑ´Ù.
±×·³ IsInSelection ÇÔ¼ö¸¦ óÀ½ºÎÅÍ ºÐ¼®Çغ¸ÀÚ. ¿ì¼± ¼±Åÿµ¿ªÀÌ ¾Æ¿¹ ¾øÀ¸¸é ´õ º¼ °Íµµ ¾øÀÌ FALSE¸¦ ¸®ÅÏÇÏ¸é µÈ´Ù. ¼±ÅÃÀÌ ¾ø´Â »óÅ¿¡¼¾ß ¾î¶² Á¡À» Á¶»çÇϵçÁö ¼±Åÿµ¿ª ¾È¿¡ ÀÖÀ» ¸®°¡ ¸¸¹«ÇÏ´Ù. ÀÏ´Ü ¼±Åÿµ¿ªÀÌ ÀÖ¾î¾ß Á¶»çÀÇ Àǹ̰¡ ÀÖ´Ù.
(x, y) ÁÂÇ¥ÀÇ ÁÙ¹øÈ£¸¦ ±¸ÇØ r¿¡ ÀÏ´Ü ´ëÀÔÇصξú´Ù. ±×¸®°í ÀÌ ÁÙÀÇ ¹üÀ§°¡ ¼±Åÿµ¿ª¿¡ Æ÷ÇԵǾî ÀÖ´ÂÁö Á¶»çÇÑ´Ù. ÇöÀç ÁÙÀÌ ¼±Åÿµ¿ªÀÇ ½ÃÀÛº¸´Ù ´õ ¾Õ¿¡ Àְųª ¼±Åÿµ¿ªÀÇ ³¡º¸´Ù ´õ ¾Æ·¡¿¡ ÀÖ´Ù¸é ³ª¸ÓÁö ÁÂÇ¥´Â Á¶»çÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÁÙ Àüü°¡ ¼±Åÿµ¿ª ¹Û¿¡ ÀÖÀ¸¹Ç·Î ÁÙ ³»ÀÇ ¾î¶² ÁÂÇ¥µµ ¼±Åÿµ¿ª ¾È¿¡ ÀÖÀ» ¸®°¡ ¾ø´Â °ÍÀÌ´Ù. ÇöÀç ÁÙÀÇ ÇÑ ÁöÁ¡ÀÌ ¼±Åÿµ¿ª ¾È¿¡ ÀÖÀ¸·Á¸é ÃÖ¼ÒÇÑ ´ÙÀ½ ¼¼ °¡Áö »óÅÂÁß Çϳª¿©¾ß ÇÑ´Ù.
ÇöÀç ÁÙ¿¡¼ ¼±ÅÃÀÌ ½ÃÀ۵Ǿú°Å³ª(µÎ ¹ø° ÁÙ) ¾Æ´Ï¸é ¾Õ ÁÙ¿¡¼ ½ÃÀÛÇؼ ÇöÀç ÁÙ¿¡¼ ¼±ÅÃÀÌ ³¡ÀÌ ³µ´Ù(³× ¹ø° ÁÙ)¸é ÇöÀç ÁÙÀÇ ÀϺΰ¡ ¼±ÅÃµÈ °ÍÀÌ´Ù. ¾Æ´Ï¸é ¼¼ ¹ø° ÁÙó·³ ¼±Åà ½ÃÀÛÀº ÇöÀçÁÙº¸´Ù À§¿¡ ÀÖ°í ¼±ÅÃÀÇ ³¡Àº ÇöÀçÁÙ ¾Æ·¡¿¡ ÀÖ¾î ÁÙ Àüü°¡ ¼±ÅõǾî ÀÖ¾î¾ß ÇÑ´Ù. ù ¹ø° ÁÙÀ̳ª ´Ù¼¸ ¹ø° ÁÙÀº ¾Æ¿¹ ¼±Åÿµ¿ª¿¡ °ÉÃÄ ÀÖÁöµµ ¾ÊÀ¸¹Ç·Î ÀÌ ÁÙ¿¡ ÀÖ´Ù¸é ÀÌ ÁÙ ³»ÀÇ ¾î¶² Á¡µµ ¼±Åÿµ¿ª ¾È¿¡ ÀÖÀ» ¼ö°¡ ¾øÀ¸¹Ç·Î ´õ Àç º¼ °Íµµ ¾øÀÌ FALSE¸¦ ¸®ÅÏÇÏ¸é µÈ´Ù.
¼±ÅÃÀÇ ³¡Á¡ÀÌ ÁÙÀÇ ½ÃÀÛº¸´Ù ´õ ¾Õ¿¡ ÀÖ´Ù´Â Á¶°Ç¿¡ <=¿¬»êÀÚ°¡ »ç¿ëµÇ¾úÀ½À» ÁÖÀÇÇÑ´Ù. ¼³»ç ¼±ÅÃÀÇ ³¡Á¡ÀÌ ÁÙÀÇ ½ÃÀÛ°ú °°´Ù°í Çصµ ¹üÀ§ÀÇ ¿øÄ¢¿¡ µû¶ó ³¡Á¡Àº ¼±Åÿ¡ Æ÷ÇÔµÇÁö ¾Ê±â ¶§¹®¿¡ ÀÌ ÁÙ¿¡´Â ¼±Åÿµ¿ªÀÌ ¾ø´Â °ÍÀÌ´Ù. ÀÌ Á¶°Ç½Ä¿¡ < ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¸é ¹Ù·Î ¾Õ ÁÙ¿¡¼ ¼±ÅÃÀÌ ³¡³ °æ¿ìµµ ¼±ÅÃÀÌ ÀÌ ÁÙ¿¡ °ÉÃÄ ÀÖ´Â °ÍÀ¸·Î À߸ø ÆÇ´ÜÇÏ°Ô µÈ´Ù.
ÁÙ ³»¿¡ ¼±Åÿµ¿ªÀÌ Æ÷ÇԵǾî ÀÖ´Ù´Â °ÍÀ» È®ÀÎÇß´Ù¸é °ú¿¬ ¾î¶² ºÎºÐÀÌ ¼±Åÿµ¿ªÀÎÁö Á¶»çÇÑ´Ù. ss, se º¯¼ö´Â ÁÙ ³»ÀÇ ¼±Åÿµ¿ª ¿ÀÇÁ¼ÂÀ» ´ëÀÔ¹Þ´Â º¯¼öÀÌ´Ù. ss¸¦ °è»êÇÏ´Â Äڵ带 º¸ÀÚ. ¼±Åà ½ÃÀÛÁ¡ÀÌ ÀÌ ÁÙÀÇ ½ÃÀÛÁ¡º¸´Ù ¾Õ¿¡ ÀÖ´Ù¸é ÀÌ ÁÙÀº óÀ½ºÎÅÍ ¼±ÅõǾî ÀÖ´Â °ÍÀ̹ǷÎ(±×¸²ÀÇ ¼¼ ¹ø°, ³× ¹ø° ÁÙ) ÁÙÀÇ Ã³À½ÀÌ ss°¡ µÇ°í ¾Æ´Ï¶ó¸é ÁÙÀÇ Áß°£¿¡¼ ¼±ÅÃÀÌ ½ÃÀÛµÈ °ÍÀ̹ǷÎ(±×¸²ÀÇ µÎ ¹ø° ÁÙ) SelFirst°¡ ss°¡ µÈ´Ù.
ÁÙ ³»ÀÇ ¼±Åà ³¡Á¡ seµµ ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î Á¶»çµÈ´Ù. ¼±Åà ³¡Á¡ÀÌ ÀÌ ÁÙ ³¡º¸´Ù µÚ¿¡ ÀÖÀ¸¸é ÀÌ ÁÙÀº ³¡±îÁö ¼±ÅõǾî ÀÖÀ¸¹Ç·Î(±×¸²ÀÇ µÎ ¹ø°, ¼¼ ¹ø° ÁÙ) ÁÙ ³¡ÀÌ se°¡ µÇ°í ¾Æ´Ï¶ó¸é ÁÙ Áß°£¿¡¼ ¼±ÅÃÀÌ ³¡³ °ÍÀ̹ǷÎ(±×¸²ÀÇ ³× ¹ø° ÁÙ) SelSecond°¡ se°¡ µÈ´Ù. ÁÙ ³»ÀÇ ¼±Åà ¿ÀÇÁ¼ÂÀ» ±¸ÇßÀ¸¸é ÀÌ ¼±Åà ¿ÀÇÁ¼ÂÀ¸·ÎºÎÅÍ È¸é ÁÂÇ¥¸¦ °è»êÇÑ´Ù.
Á»ó´Ü ÁÂÇ¥ (x1, y1)Àº ss ¿ÀÇÁ¼ÂÀ¸·ÎºÎÅÍ GetXYFromOff ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Ù. ¿ìÇÏ´Ü ÁÂÇ¥´Â Á¶±Ý ¾î·Á¿îµ¥ se ¿ÀÇÁ¼ÂÀÇ ÁÂÇ¥¸¦ ¹Ù·Î »ç¿ëÇÒ ¼ö´Â ¾ø°í seº¸´Ù ÇÑ Ä ¾Õ ¹®ÀÚÀÇ ÁÂÇ¥¸¦ ±¸ÇÑ ÈÄ ÀÌ ¹®ÀÚÀÇ ÆøÀ» ´Ù½Ã ´õÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé se´Â ¼±Åÿµ¿ªÀÇ ³¡À» °¡¸®Å°°í ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó ¼±Åÿµ¿ª ³¡ ´ÙÀ½ ¹®ÀÚ¸¦ °¡¸®Å°°í Àֱ⠶§¹®ÀÌ´Ù. ÀÚµ¿°³ÇàµÈ ÁÙ ³¡±îÁö ¼±ÅõǾî ÀÖ´Â °æ¿ì se´Â ´ÙÀ½ ÁÙÀÇ Ã³À½À» °¡¸®Å°°í ÀÖ°í ÀÌ Á¡ÀÇ ÁÂÇ¥¸¦ Á¶»çÇϸé x°¡ 0(¶Ç´Â MarginWidth)À¸·Î Á¶»çµÇ¹Ç·Î ¼±Åÿµ¿ª ÁÂÇ¥°¡ Á¦´ë·Î Á¶»çµÇÁö ¾Ê´Â´Ù.
±×·¡¼ Á» ¹ø°Å·ÓÁö¸¸ GetPrevOff ÇÔ¼ö·Î ÇÑ Ä ¾ÕÀ¸·Î À̵¿Çϴµ¥ À̶§ Á¶»çµÈ ¿ÀÇÁ¼ÂÀÌ ¼±Åÿµ¿ªÀÇ ¸¶Áö¸· ¹®ÀÚ À§Ä¡ÀÌ´Ù. ÀÌ ¿ÀÇÁ¼ÂÀ¸·Î GetXYFromOff¸¦ È£ÃâÇÏ¿© x2¸¦ ±¸ÇÏ°í ´Ù½Ã ¹®ÀÚÆøÀ» ´õÇß´Ù. ss¿Í se´Â °°Àº ÁÙ ³»¿¡ ¼Ò¼ÓµÈ ¿ÀÇÁ¼ÂÀ̹ǷΠy1°ú y2´Â Ç×»ó °°À¸¸ç ¼±Åÿµ¿ªÀÇ ¿ìÇÏ´Ü ÁÂÇ¥´Â (x2, y1+LineHeight)°¡ µÈ´Ù. (x2, y2+LineHeight) ÀÌ·¸°Ô Àû°í ½ÍÀ¸¸é ¹°·Ð ±×·¸°Ô Çصµ »ó°ü¾ø´Ù.
ÁÙ »çÀÌÀÇ ¿©¹éÀº ¹ÝÀü ºí·ÏÀ¸·Î Ç¥½ÃµÇÁö´Â ¾ÊÁö¸¸ ÀÌ ¿µ¿ª¿¡ Ä¿¼°¡ ÀÖÀ» ¶§µµ ¼±Åÿµ¿ªÀ¸·Î ÀÎÁ¤ÇÏ¿´´Ù. ±×·¡¼ »ó´Ü ÁÂÇ¥ y1¿¡¼ ÇÏ´Ü ÁÂÇ¥¸¦ ±¸ÇÒ ¶§ FontHeight¸¦ ´õÇÏÁö ¾Ê°í ÁÙ°£ÀÎ LineHeight¸¦ ´õÇß´Ù. ¸¸¾à FontHeight¸¦ ´õÇÑ´Ù¸é °è»êÀº ´õ Á¤È®ÇÏ°ÚÁö¸¸ ¿©·¯ ÁÙÀÌ ¼±ÅÃµÈ »óÅ¿¡¼ Ä¿¼¸¦ ¼öÁ÷À¸·Î À̵¿ÇÒ ¶§ Ä¿¼°¡ ¹Ýº¹ÀûÀ¸·Î ¹Ù²î±â ¶§¹®¿¡ ´«¿¡´Â °Å½½¸°´Ù. ±×·¡¼ ÁÙ°£ ¿©¹éµµ ¼±Åÿµ¿ª¿¡ Æ÷ÇԵǴ °ÍÀ¸·Î Á¤Ã¥À» °áÁ¤ÇÏ¿´´Ù.
Ä¿¼ À§Ä¡ ÆǺ°À» À§ÇÑ ÇÔ¼ö¸¦ ¿Ï¼ºÇß´Ù. ´ÙÀ½Àº ½ÇÇàÁß¿¡ »ç¿ëÇÒ Ä¿¼¸¦ ¹Ì¸® ÀÐ¾î ³õµµ·Ï ÇÏÀÚ. Ä¿¼¸ð¾çÀÌ ¼ö½Ã·Î º¯°æµÇ¹Ç·Î ÇÊ¿äÇÒ ¶§ Àд °Íº¸´Ù ¹Ì¸® ÀÐ¾î ³õ´Â °ÍÀÌ ¼Óµµ»ó À¯¸®ÇÏ´Ù. ´Ù¼¸ °³ÀÇ Ä¿¼ ÇÚµé º¯¼ö¸¦ ÁغñÇÏ°í OnCreate¿¡¼ Àû´çÇÑ ¸ð¾çÀÇ Ä¿¼¸¦ ÀÐ¾î ³õ´Â´Ù.
HCURSOR hCSel,hCCopy,hCMove,hCMargin,hCNoDrop;
BOOL OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)
{
....
hCSel=LoadCursor(NULL,IDC_ARROW);
hCNoDrop=LoadCursor(NULL,IDC_NO);
hCCopy=LoadCursor(NULL,IDC_APPSTARTING);
hCMove=LoadCursor(NULL,IDC_ARROW);
hCMargin=LoadCursor(NULL,IDC_SIZENESW);
¾ÆÁ÷ ¸®¼Ò½º ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Â »óȲÀÌ ¾Æ´Ï¹Ç·Î ºñ½ÁÇÑ ¸ð¾çÀÇ ½ºÅå Ä¿¼¸¦ »ç¿ëÇϱâ·Î ÇÑ´Ù. ¼±Åÿµ¿ªÀÇ ÁÂÇ¥¸¦ ±¸ÇßÀ¸¸é ptInRect ÇÔ¼ö·Î ÇöÀç ÁÂÇ¥°¡ ÀÌ ¿µ¿ª ¾È¿¡ ÀÖ´ÂÁö Á¶»çÇÒ ¼ö ÀÖ°í ±× °á°ú¸¦ ¸®ÅÏÇÏ¸é µÈ´Ù. ÀÌ ÇÔ¼ö°¡ Á¶»çÇÏ´Â °á°ú¿¡ µû¶ó Ä¿¼ÀÇ ¸ð¾çÀ» ½ÇÁ¦·Î º¯°æ½ÃÅ°´Â ÀÛ¾÷Àº OnSetCursor¿¡¼ ÇÑ´Ù.
BOOL OnSetCursor(HWND hWnd, HWND hwndCursor, UINT codeHitTest, UINT msg)
{
POINT pt;
GetCursorPos(&pt);
ScreenToClient(hWnd,&pt);
if (codeHitTest==HTCLIENT) {
if (pt.x < MarginWidth) {
SetCursor(hCMargin);
return TRUE;
}
pt.x += xPos;
pt.y += yPos;
if (IsInSelection(pt.x, pt.y)) {
SetCursor(hCSel);
return TRUE;
}
}
return FORWARD_WM_SETCURSOR(hWnd,hwndCursor,codeHitTest,msg,DefWindowProc);
}
Ä¿¼ÀÇ À§Ä¡¸¦ ±¸ÇÏ°í ÀÛ¾÷¿µ¿ª ÁÂÇ¥·Î ¹Ù²Û ÈÄ Áö±Ý Ä¿¼°¡ ¾îµð¿¡ Àִ°¡¿¡ µû¶ó ´Ù¸¥ ¸ð¾çÀ¸·Î º¸¿©ÁØ´Ù. ¸¶Áø¿µ¿ª¿¡ ÀÖ´Ù¸é ¿ÞÂÊÀ¸·Î ±â¿ï¾îÁø È»ìÇ¥¸¦ º¸¿©ÁÖ°í ¼±Åÿµ¿ª ¾È¿¡ ÀÖ´Ù¸é ¿À¸¥ÂÊÀ¸·Î ±â¿ï¾îÁø È»ìÇ¥¸¦ º¸¿©ÁØ´Ù. µÑ ´Ù ¾Æ´Ï¶ó¸é À©µµ¿ì Ŭ·¡½º¿¡ Á¤ÀÇµÈ IÀÚ ¸ð¾çÀÇ Ä¿¼°¡ »ç¿ëµÉ °ÍÀÌ´Ù. ÀÌ Ã³¸®´Â ¹Ýµå½Ã Ä¿¼°¡ ÀÛ¾÷¿µ¿ª(HTCLIENT)¿¡ ÀÖÀ» ¶§¸¸ ÇØ¾ß ÇÑ´Ù. Ä¿¼ÀÇ ÁÂÇ¥°ª¸¸À¸·Î Á¶°Ç Á¡°ËÀ» ÇÏ¸é °æ°è¼±À̳ª ŸÀÌƲ¹Ù¿¡ Ä¿¼°¡ ÀÖÀ» ¶§Á¶Â÷ Ä¿¼¸¦ ¹Ù²Ù·Á°í µé °ÍÀÌ´Ù.