[Develog] 메모장프로그래밍 8 - 편집단축키 지정

이성훈·2021년 12월 29일
0

DEVELOG

목록 보기
8/14

처음에는 클립보드 기능을 추가하는 코드를 작성하고있었으나, 찾아보니 Win32 API에서
해당 기능들을 미리 구현해놓아서 아래와 같은 짧은 코드로 구현이가능하다.

		case ID_EDIT_MENU1: //실행취소
			SendMessage(Edit, WM_UNDO, 0, 0);
			break;

		case ID_EDIT_MENU2: //잘라내기
			SendMessage(Edit, WM_CUT, 0, 0);
			break;

		case ID_EDIT_MENU3: //복사하기 
			SendMessage(Edit, WM_COPY, 0, 0);
			break;
            
		case ID_EDIT_MENU4: //붙여넣기 
			SendMessage(Edit, WM_PASTE, 0, 0);
			break;
            
		case ID_EDIT_MENU5: //삭제
			SendMessage(Edit, WM_CLEAR, 0, 0);
			break;

		case ID_EDIT_MENU8: //모두선택
			SendMessage(Edit, EM_SETSEL, 0, -1); //전체범위 선택
			break;

모두 선택의 3, 4번째인자는 시작, 끝의 인덱스로 이를 이용하여 편집탭의 찾기 기능을 구현가능하다.
다음으로 추가할 기능이 바로 찾기 기능이다.
현재 생각중인 방향은

  1. 다이얼로그창을 만들자.
  2. 현재 에디터의 문자열을 변수에 담아서 그중 검색, (검색알고리즘 활용)
  3. 찾은 인덱스들을 vector에 저장
  4. 찾는 방향(위, 아래)에 따라서 모든 vector를 순회하며 하나씩 보여줌
  5. 보여줄때 SendMessage(Edit, EM_SETSEL, 위치, 위치+길이); 이용
profile
I will be a socially developer

0개의 댓글