¹®´Ü °ü¸® ÇÔ¼öµéÀÌ ¿Ï¼ºµÊÀ¸·Î½á ÄÚµåÀÇ ¸î¸î ºÎºÐÀ» Á» ´õ È¿À²ÀûÀ¸·Î ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ¹®´ÜÀÇ °³³äÀº ¾ÖÃÊ ApiEdit7¿¡¼ ºÏ¸¶Å©¸¦ ¸¸µé ¶§ºÎÅÍ ÇÊ¿äÇß¾úÀ¸³ª ÀÌ ÇÔ¼öµéÀÇ ±¸ÇöÀÌ ´Ù¼Ò ¾î·Á¿î °Í °°¾Æ Áö±Ý±îÁö °è¼Ó ¹Ì·ç¾î ¿Ô¾ú´Ù. ´ÙÇàÈ÷ ¹®´Ü °³³äÀ» ÇÊ¿ä·Î ÇÏ´Â ºÎºÐÀÌ ¸¹Áö ¾Ê¾Æ Áö±Ý±îÁö ¼øÂ÷ °Ë»öÀ¸·Î ¹®´ÜÀ» ã°Å³ª µå¹°°Ô ¹ß»ýÇÏ´Â ³ë¿î ¹ö±×¸¦ ±×³É ³²°Ü µÎ¾ú¾ú´Âµ¥ ÀÌÁ¦ È®½ÇÇÏ°Ô ¼öÁ¤Çغ¸ÀÚ.
Àμö·Î Àü´ÞµÈ ¹®´ÜÀ¸·Î À̵¿ÇÏ´Â GotoLine ÇÔ¼ö¸¦ ¸ÕÀú ¼öÁ¤ÇÑ´Ù. ÀÌ ÇÔ¼ö¸¦ ÀÛ¼ºÇÒ ½ÃÁ¡¿¡´Â ¹®´Ü¹øÈ£·Î ¿ÀÇÁ¼ÂÀ» ã¾Æ°¡´Â ÇÔ¼ö°¡ ¾ø¾ú±â ¶§¹®¿¡ pLineÀ» óÀ½ºÎÅÍ ³¡±îÁö µÚÁö¸é¼ ¹®´ÜÀ» ã´Â ¼øÂ÷ °Ë»öÀ» Çß¾ú´Ù. ÀÌÁ¦ GetOffFromPara ÇÔ¼ö·Î ¹®´ÜÀÇ ½ÃÀÛÁ¡À» Á» ´õ °£ÆíÇÏ°Ô Ã£¾Æ°¥ ¼ö ÀÖÀ¸¹Ç·Î ºñÈ¿À²ÀûÀÎ ¼øÂ÷ °Ë»ö Äڵ带 »èÁ¦ÇÏ°í ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
void CApiEdit::GotoLine(int Line, int
{
int tLine;
int toff;
ClearSelection();
switch (Type) {
case 0:
tLine=min(Line,TotalLine-1);
off=GetOffFromRC(Line,
break;
case 1:
toff=GetOffFromPara(Line,
if (toff!=-1) {
off=toff;
}
break;
}
SetCaret();
}
GetOffFromPara ÇÔ¼ö´Â À̵¿ÇÒ ¹®´Ü¹øÈ£¿Í Ä ¹øÈ£¸¦ Àμö·Î Àü´ÞÇϱ⸸ Çϸé ÀÌ À§Ä¡ÀÇ ¿ÀÇÁ¼ÂÀÌ ¾îµðÀÎÁö Á¶»çÇÑ´Ù. Á¶»çµÈ ¿ÀÇÁ¼ÂÀ¸·Î off º¯¼ö¸¦ º¯°æÇÑ ÈÄ SetCaret¸¸ È£ÃâÇϸé ij·µÀÌ ÀÖ´Â À§Ä¡·Î Áï½Ã À̵¿ÇÒ °ÍÀÌ´Ù. ¹®´Ü¹øÈ£°¡ ¹üÀ§¸¦ ¹þ¾î³¯ °æ¿ì -1À» ¸®ÅÏÇϴµ¥ ÀÌ ¶§´Â ¾Æ¹« °Íµµ ÇÏÁö ¾ÊÀ¸¸é µÈ´Ù. ºÏ¸¶Å©°¡ ¼³Á¤µÈ °÷À» ã¾Æ°¡´Â GotoBookmark ÇÔ¼öµµ ¹Ù·Î ¹®´ÜÀ» ã¾Æ°¥ ¼ö ÀÖ´Ù. ¼øÂ÷ °Ë»ö Äڵ带 »èÁ¦ÇÏ°í ´ÙÀ½°ú °°ÀÌ ¼öÁ¤Çϵµ·Ï ÇÏÀÚ.
void CApiEdit::GotoBookmark(int Mark)
{
....
GotoLine(
}
´ÙÀ½À¸·Î ¼öÁ¤ÇÒ °÷Àº °Ë»ö°á°ú·ÎºÎÅÍ ÁöÁ¤µÈ À§Ä¡·Î ã¾Æ°¡´Â OpenFileFromOutput ÇÔ¼öÀÌ´Ù. ÀÌ ÇÔ¼ö´Â °Ë»ö°á°úâ¿¡ ¾²¿©Áø ´ë·Î °Ë»öµÈ À§Ä¡¸¦ ã¾Æ³»´Âµ¥, ÀϹÝÀûÀ¸·Î Á¤»ó µ¿ÀÛÇÏÁö¸¸ °Ë»ö ÈÄ¿¡ ÆÄÀÏÀ» ¼öÁ¤ÇßÀ¸¸é °Ë»ö À§Ä¡¸¦ Á¦´ë·Î ãÁö ¸øÇÏ´Â ¹®Á¦°¡ ÀÖ´Ù. Á¦´ë·Î ãÁö ¸øÇÒ »Ó¸¸ ¾Æ´Ï¶ó ÀÌÀü À§Ä¡¿¡ ¹®ÀÚ°¡ ¾ø¾îÁ³°Å³ª ÇѱÛÀÇ °æ°è¿¡ °ÉÄ¡¸é Ä¡¸íÀûÀÎ ¿¡·¯¸¦ À¯¹ß½ÃÅ°±âµµ ÇÑ´Ù.
ÀÌ ÇÔ¼ö¸¦ ÀÛ¼ºÇÒ ½ÃÁ¡¿¡ ÀÌ¹Ì ¹®Á¦¸¦ ¾Ë°í ÀÖ¾úÁö¸¸ ÆÄÀÏÀÌ ¼öÁ¤µÇ¾ú´ÂÁöÀÇ ¿©ºÎ¸¦ È®ÀÎÇÒ ¹æ¹ýÀÌ ¾ø¾î ´çºÐ°£ ³ë¿î ¹ö±×·Î ³²°Ü µÎ¾ú¾ú´Âµ¥ ÀÌÁ¦ °Ë»ö°á°ú°¡ ÁöÁ¤ÇÏ´Â ¿ÀÇÁ¼ÂÀ» Á¤È®ÇÏ°Ô ±¸ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ã¾Æ°¡±â Àü¿¡ ¿¡·¯ ¿©ºÎ¸¦ ¹Ì¸® ¾Ë ¼ö ÀÖ°Ô µÇ¾ú´Ù. ÀÌ ÇÔ¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
void OpenFileFromOutput(int idx)
{
....
toff=pSi->Ae.GetOffFromPara(line,col);
pSi->Ae.GetText(Text,MAX_PATH,toff,toff+lstrlen(LastFIF));
if (stricmp(Text,LastFIF) != 0) {
MessageBox(g_hFrameWnd,"°Ë»ö ÈÄ¿¡ ÆÄÀÏÀÌ ¼öÁ¤µÇ¾ú½À´Ï´Ù. "
"°Ë»öµÈ ÁÙÀÇ Ã¹ À§Ä¡·Î À̵¿ÇÕ´Ï´Ù.","¾Ë¸²",MB_OK);
toff=pSi->Ae.GetOffFromPara(line,0);
pSi->Ae.GotoLine(line,0,1);
} else {
pSi->Ae.GotoLine(line,col,1);
pSi->Ae.SetSelect(toff,toff+lstrlen(LastFIF),TRUE);
}
}
°Ë»ö °á°ú¿¡ ±â·ÏµÈ ¹®´Ü¹øÈ£¿Í ¹®´Ü ³»ÀÇ Ä ¹øÈ£ÀÇ ÅؽºÆ®¸¦ ½ÇÁ¦·Î ÀÐ¾î º¸°í ¸¸¾à °Ë»öÇÑ ¹®ÀÚ¿(LastFIF)°ú ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é °Ë»ö ÈÄ¿¡ ÆÄÀÏÀÌ ¼öÁ¤µÈ °ÍÀ¸·Î ÆÇ´ÜÇÑ´Ù. À̶§´Â ÆÄÀÏÀÌ ¼öÁ¤µÇ¾î Á¤È®ÇÑ À§Ä¡¸¦ ´Ù½Ã ãÀ» ¼ö ¾ø´Ù´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í ¹®´ÜÀÇ ½ÃÀÛÀ§Ä¡·Î¸¸ ij·µÀ» ¿Å°ÜÁÖµµ·Ï Çß´Ù. ¹®´Ü¹øÈ£¿Í Ä ¹øÈ£·Î ¿ÀÇÁ¼ÂÀ» ã¾ÆÁÖ´Â GetOffFromPara ÇÔ¼ö°¡ ÀÛ¼ºµÇ¾î Àֱ⠶§¹®¿¡ °Ë»ö°á°ú·ÎºÎÅÍ ¹®¼³»ÀÇ ÁöÁ¤ÇÑ À§Ä¡ÀÇ ¹®ÀÚ¿À» ±¸ÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
Áö±Ý±îÁö ÀÛ¼ºÇÑ ÄÚµå Áß¿¡ ¹®´Ü °ü¸® ÇÔ¼ö°¡ ²À ÇÊ¿äÇÑ ºÎºÐÀº ÀÌ Á¤µµ»ÓÀÌ´Ù. ÇÏÁö¸¸ ¾ÕÀ¸·ÎÀÇ ÆíÁýÄڵ忡¼´Â ¹®´Ü °ü¸® ÇÔ¼öµéÀÌ ¾ÆÁÖ ¸¹ÀÌ »ç¿ëµÉ °ÍÀÌ´Ù. ApiEdit¸¦ ´õ ±íÀÌ ÀÌÇØÇغ¸°í ½Í´Ù°Å³ª Á÷Á¢ °³¼±Çغ¸°í ½Í´Ù¸é ÀÌ ÇÔ¼öµé¿¡ »¡¸® Àͼ÷ÇØÁ®¾ß ÇÑ´Ù.