´Ù. À̵¿ ¹× Ç¥½Ã

°ü·Ã ÇÔ¼ö¸¦ ´Ù ¸¸µé¾úÀ¸´Ï ÀÌÁ¦ ºÏ¸¶Å© ±â´ÉÀ» ±¸ÇöÇÏ´Â °ÍÀº ¾ÆÁÖ ½±´Ù. OnCreate¿¡¼­ ClearBookmark ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¹è¿­À» ÃʱâÈ­ÇÑ´Ù. ÃÖÃÊ ½ÇÇà½Ã ºÏ¸¶Å©´Â Çϳªµµ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº »óÅÂÀÌ´Ù. MarkColor º¯¼ö´Â ºÏ¸¶Å© Ç¥½Ä¿¡ »ç¿ëÇÒ »ö»ó°ªÀε¥ ´«¿¡ Àß ¶ç´Â ³ë¶õ»öÀ¸·Î ÃʱâÈ­ÇÏ¿´´Ù.

 

BOOL OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct)

{

     ....

    ClearBookmark();

    MarkColor=RGB(255,255,0);

 

ºÏ¸¶Å©´Â ¹®¼­ÀÇ À̵¿À» ºü¸£°Ô Çϱâ À§ÇØ »ç¿ëÇÏ´Â ±â´ÉÀ̹ǷΠ¸Þ´º³ª ÄÁÆ®·Ñ °°Àº ÀåÄ¡º¸´Ù´Â ´ÜÃàÅ°·Î »ç¿ëÇÏ´Â °ÍÀÌ È¿À²ÀûÀÌ´Ù. ApiEdit°¡ Á¦°øÇÏ´Â ºÏ¸¶Å© °ü·Ã ´ÜÃàÅ°´Â ´ÙÀ½°ú °°Àºµ¥ º¸ÆíÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â Å°¸¦ ÇÒ´çÇÏ¿´´Ù.

 

´ÜÃàÅ°

¼³¸í

Ctrl+Shift+0~9

À̸§ÀÖ´Â ºÏ¸¶Å© Åä±Û

Ctrl+0~9

À̸§ÀÖ´Â ºÏ¸¶Å©·Î À̵¿

Ctrl+F2

À̸§¾ø´Â ºÏ¸¶Å© Åä±Û

F2

À̸§¾ø´Â ´ÙÀ½ ºÏ¸¶Å©·Î À̵¿

Shift+F2

À̸§¾ø´Â ÀÌÀü ºÏ¸¶Å©·Î À̵¿

 

ÀÌ ´ÜÃàÅ°µéµµ ¾×¼¿·¯·¹ÀÌÅÍ·Î Á¤ÀÇÇϸé ÁÁ°ÚÁö¸¸ ApiEdit´Â ¾ÆÁ÷ ¸®¼Ò½º¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î Äڵ忡¼­ Á÷Á¢ ó¸®Çϵµ·Ï ÇÏÀÚ. OnKey¿¡¼­ ´ÜÃàÅ°¸¦ ÀÔ·Â¹Þ¾Æ ºÏ¸¶Å© °ü·Ã ÇÔ¼ö¸¦ È£ÃâÇÏ¿´´Ù.

 

void OnKey(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UINT flags)

{

     ....

     if (fDown==FALSE)

          return;

 

    if (vk>=¡®0¡¯ && vk<=¡®9¡¯ && bControl) {

        if (bShift) {

           ToggleBookmark(-1,vk-¡¯0¡¯);

        } else {

           GotoBookmark(vk-¡¯0¡¯);

        }

    }

 

     switch (vk)

     {

     ....

    case VK_F2:

        if (bControl) {

           ToggleBookmark(-1,100);

        } else {

           if (bShift) {

               GotoBookmark(11);

           } else {

               GotoBookmark(10);

           }

        }

        return;

 

<Ctrl>Å°¿Í <Shift>Å°ÀÇ »óÅ µîÀ» Àß Á¶ÇÕÇÏ¿© ToggleBookmark, GotoBookmark ÇÔ¼ö¸¦ ÀûÀýÈ÷ È£ÃâÇÏ¿´´Ù. ¿©±â±îÁö ÀÛ¼ºÇÏ¸é ºÏ¸¶Å©´Â ÀÌ¹Ì µ¿ÀÛÇÑ´Ù. ÇÏÁö¸¸ ¾îµð°¡ ºÏ¸¶Å©·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö º¸¿©ÁÖ´Â ÀåÄ¡°¡ ¾ÆÁ÷±îÁö ¾ø´Âµ¥ ºÏ¸¶Å©°¡ ¼³Á¤µÈ ÁÙ¿¡ ºÏ¸¶Å© Ç¥½Ã¸¦ ´Þ¾Æº¸ÀÚ. ºÏ¸¶Å© Ç¥½Ã¸¦ Ãâ·ÂÇÏ´Â ÀÏÀº ÇÑ ÁÙÀ» Ãâ·ÂÇÏ´Â DrawLine¿¡¼­ ´ã´çÇÑ´Ù.

 

int DrawLine(HDC hdc, int Line)

{

     ....

     int Mark;

     HBRUSH hMark, OldBrush;

 

     if (MarginWidth != 0) {

          ....

          if (bShowLineNum && pLine[Line].nLine==0) {

              ....

          }

 

          if (pLine[Line].nLine == 0) {

              Mark=FindBookmark(pLine[Line].nPara);

              if (Mark != -1) {

                   hMark=CreateSolidBrush(MarkColor);

                   OldBrush=(HBRUSH)SelectObject(hdc,hMark);

                   RoundRect(hdc,0,0,10,FontHeight,2,2);

                   DeleteObject(SelectObject(hdc,OldBrush));

                   if (Mark >= 0 && Mark <= 9) {

                        wsprintf(szLine,"%d",Mark);

                        OldAlign=SetTextAlign(hdc,TA_LEFT);

                        OldBkMode=SetBkMode(hdc,TRANSPARENT);

                        SetTextColor(hdc,RGB(0,0,0));

                        OldFont=(HFONT)SelectObject(hdc,hLineNumFont);

 

                        TextOut(hdc,2,0+2,szLine,lstrlen(szLine));

 

                        SelectObject(hdc,OldFont);

                        SetTextAlign(hdc,OldAlign);

                        SetBkMode(hdc,OldBkMode);

                   }

              }

          }

     }

     return 1;

}

 

ÁÙ¹øÈ£ ±â´É°ú ¸¶Âù°¡Áö·Î ºÏ¸¶Å©¸¦ º¸¿©ÁÖ·Á¸é ÀÏ´Ü ¸¶ÁøÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×¸®°í °¢ ¹®´ÜÀÇ ¼±µÎ¿¡ ´ëÇؼ­¸¸ ÀÌ ÁÙÀÌ ºÏ¸¶Å©¸¦ °¡Áö°í ÀÖ´ÂÁö Á¶»çÇÑ´Ù. FindBookmark·Î Á¶»çÇÑ °á°ú ÀÌ ¹®´Ü¿¡ ºÏ¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é ¸¶Áø¿µ¿ª¿¡ »ç°¢ÇüÀ» ±×·Á ºÏ¸¶Å© Ç¥½Ã¸¦ ÇÑ´Ù. À̸§¾ø´Â ºÏ¸¶Å©´Â »ç°¢Çü¸¸ ±×¸®°í À̸§ÀÖ´Â ºÏ¸¶Å©´Â »ç°¢Çü ¾È¿¡ ºÏ¸¶Å© ¹øÈ£±îÁö Ãâ·ÂÇß´Ù.

ºÏ¸¶Å© Ãâ·Â¹®°ú ÁÙ¹øÈ£ Ãâ·Â¹®ÀÌ °°Àº ºí·Ï ¾È¿¡ Àִµ¥ µÎ Ãâ·Â¹®Àº ¼ø¼­°¡ ¾øÀ¸¹Ç·Î ¼­·Î ÀÚ¸®¸¦ ¹Ù²Ü ¼öµµ ÀÖ´Ù. Áï, ÁÙ¹øÈ£¸¦ ¸ÕÀú Ãâ·ÂÇÑ ÈÄ ºÏ¸¶Å©¸¦ Ãâ·ÂÇÒ ¼öµµ ÀÖ°í ±× ¹Ý´ëµµ °¡´ÉÇÏ´Ù. À̶§ Ãâ·Â¹®ÀÇ ¼ø¼­¿¡ µû¶ó µÎ Ç¥½ÄÀÌ °ãÃÆÀ» ¶§ÀÇ ¼öÁ÷À§Ä¡°¡ °áÁ¤µÇ´Âµ¥ µÚ¿¡ ÀÖ´Â Ãâ·Â¹®ÀÌ ´õ À§¿¡ ¿À°Ô µÈ´Ù. ¾Æ¹«·¡µµ ÁÙ¸¶´Ù ÀÖ´Â ÁÙ¹øÈ£º¸´Ù´Â °¡²û¾¿ ³ªÅ¸³ª´Â ºÏ¸¶Å© Ç¥½Ã°¡ ´õ Áß¿äÇϹǷΠºÏ¸¶Å©°¡ ´õ À§¿¡ ÀÖµµ·Ï ÇÏ¿´´Ù.

¸¶Áø ¿µ¿ª¿¡ ¾ÓÁõ¸ÂÀº ³ë¶õ»öÀ¸·Î ºÏ¸¶Å© Ç¥½Ã°¡ µÇ¾î ÀÖÀ¸¸ç <F2>, <Ctrl+¼ýÀÚÅ°>·Î ºÏ¸¶Å© À§Ä¡·Î ºü¸£°Ô À̵¿ÇÑ´Ù. ÁÙ¹øÈ£°¡ 4ÀÚ¸® ÀÌ»óÀÌ µÇ¸é ºÏ¸¶Å© Ç¥½Ã¿Í ÁÙ¹øÈ£°¡ ¾à°£ °ãÄ¡´Â ¾Æ½¬¿òÀÌ ÀÖ±â´Â ÇÏÁö¸¸ ¾îÂ÷ÇÇ ¸¶Áø¿µ¿ªÀÌ Á¼¾Æ µÎ Á¤º¸¸¦ Ãæµ¹¾øÀÌ º¸¿©ÁÖ±â´Â ¾î·Æ´Ù.