notepad2 컴파일 삽질기 부록#9 : 다음 바꾸기(Replace Next) 메뉴에 추가

okto님 블로그에서 잠시 언급된 건데, 추가하는 것이 어렵지 않아 삽질기 부록#8에 이어서 포스팅함

Notepad2에서는 찾기 관련된 기능은 모두 메뉴에 등록되어 있다.
찾기(Ctrl-F), 다음 찾기(F3), 이전 찾기(Shift-F3) 모두 말이다.

그런데, 바꾸기의 경우 바꾸기(Ctrl-H)는 등록되어 있는데, 다음 바꾸기(F4)는 메뉴에 등록되어 있지는 않다.
(기능 자체는 있다)

물론, 이 기능은 단축기를 이용하는 쪽이 훨씬 편한 기능이지만, 메뉴에 없으면 기능 자체를 모를 수 있어 메뉴에 넣기로 했다.


1. Notepad2.rc

아래와 같은 부분을 찾다. File 메뉴의 일부이다.

    MENUITEM "Select To Ne&xt\tF2",         IDM_EDIT_SELTONEXT
    MENUITEM "R&eplace...\tCtrl+H", IDM_EDIT_REPLACE

이 아래에 아래의 한 줄을 추가한다.

    MENUITEM "Replace Nex&t\tF4",           IDM_EDIT_REPLACENEXT



2. Notepad2.c

void MsgInitMenu(HWND hwnd,WPARAM wParam,LPARAM lParam) 함수에서 아래와 같은 부분을 찾는다.

    EnableCmd(hmenu,IDM_EDIT_SELTOPREV,i && lstrlenA(efrData.szFind));
    EnableCmd(hmenu,IDM_EDIT_REPLACE,i /*&& !bReadOnly*/);


이 아래에 다음의 한 줄을 추가한다.

    EnableCmd(hmenu,IDM_EDIT_REPLACENEXT,i);


수정된 결과는 아래와 같다

사용자 삽입 이미지

짜잔~