. 북마크 기능

북마크 기능도 일종의 검색 기능이다. 미리 찾아갈 곳을 등록해놓고 딴 데 가서 놀다가 단축키로 다시 원래 자리로 돌아올 수 있다. ApiEdit에 북마크 관련 기능이 완벽하게 작성되어 있고 OnChar에서 단축키까지 정의하고 있다. 호스트는 메뉴에 북마크 관련 기능을 정리해놓고 단축키를 호스트 수준에서 제공하기만 하면 된다. 리소스에 북마크 관련 액셀러레이터도 이미 정의되어 있으므로 OnCommand에서 기능을 불러 주기만 하면 된다.

 

void OnCommand(HWND hWnd,WPARAM wParam,LPARAM lParam)

{

     ....

     case IDM_SEARCH_TOGGLEMARK:

          pSi->Ae.ToggleBookmark(-1,100);

          break;

     case IDM_SEARCH_NEXTMARK:

          pSi->Ae.GotoBookmark(10);

          break;

     case IDM_SEARCH_PREVMARK:

          pSi->Ae.GotoBookmark(11);

          break;

     case IDM_SEARCH_CLEARMARK:

          pSi->Ae.ClearBookmark();

          break;

 

ApiEdit의 북마크 관련 함수들만 호출하면 된다. 이렇게 메뉴에 정리해놓으면 사용자는 별도의 설명을 읽지 않고도 북마크 기능이 있음을 알게 된다. 메뉴는 그 자체로 프로그램의 모든 기능을 나열하는 좋은 설명서이기 때문이다. 이름있는 북마크 기능은 단축키 구조가 복잡해서 메뉴에는 포함시키지 않았다.