Rich Edit 컨트롤에서 현재 선택 영역

사용자는 마우스 또는 키보드를 사용 하 여 rich edit 컨트롤의 텍스트를 선택할 수 있습니다. 문자가 선택 된 경우 현재 선택 선택한 문자의 범위 또는 삽입 포인터의 위치입니다. 응용 프로그램 현재 선택 영역에 대 한 정보를 얻을 수 있습니다, 그리고 현재 선택 항목 설정 때 현재 선택이 변경 하 고 표시 또는 숨기기 선택 강조 표시를 확인합니다.

Rich edit 컨트롤에서 현재 선택 영역을 확인 하려면 EM_EXGETSEL 메시지를 사용 합니다. EM_EXSETSEL 메시지를 사용 하 여 현재 선택 영역을 설정 합니다. CHARRANGE 구조는 두 메시지와 함께 사용 하 고 문자 범위를 지정 합니다. 현재 선택 내용에 대 한 정보를 검색 하려면 EM_SELECTIONTYPE 메시지를 사용할 수 있습니다.

EN_SELCHANGE 알림 메시지를 처리 하 여 현재 선택이 변경 될 때 응용 프로그램이 검색할 수 있습니다. 알림 메시지 지정 SELCHANGE 구조를 새로운 선택에 대 한 정보를 포함 합니다. EM_SETEVENTMASK 메시지를 사용 하 여 사용 하는 경우에 rich edit 컨트롤이 알림 메시지를 보냅니다.

기본적으로 rich edit 컨트롤 표시 하 고 상승 하 고 포커스를 잃을 때 선택 영역 강조 표시를 숨깁니다. 표시 하거나 EM_HIDESELECTION 메시지를 사용 하 여 언제 든 지 선택 강조 표시를 숨길 수 있습니다. 예를 들어, 응용 프로그램이 rich edit 컨트롤에서 텍스트를 찾으려면 검색 대화 상자를 제공할 수 있습니다. 응용 프로그램 대화 상자를 닫지 않고 일치 하는 텍스트를 선택할 수 있습니다, 그리고 어떤 경우에 사용 해야 합니다 EM_HIDESELECTION 메시지 선택 영역 강조 표시.

편집 컨트롤의 경우와 마찬가지로 rich edit 컨트롤 포커스를 잃으면 선택 영역 강조 표시를 숨기는 것을 못하도록 ES_NOHIDESEL 창 스타일을 지정할 수 있습니다. Rich edit 컨트롤을 만든 후 ES_NOHIDESEL 창 스타일을 변경 하려면 EM_HIDESELECTION 메시지를 사용할 수도 있습니다.

EM_EXGETSELEM_EXSETSEL 메시지를 사용 하는 대신 검색 하 고 EM_GETSELEM_SETSEL 편집 제어 메시지를 사용 하 여 현재 선택 영역을 설정 합니다. EM_GETSEL 메시지 32 비트 반환 값으로 두 개의 16 비트 문자 인덱스 팩 하 고 따라서 첫 번째 64 K를 전적으로 속하는 선택에 대해서만 작동 합니다. 그러나, rich edit 컨트롤 EM_EXLIMITTEXT 메시지를 사용 하 여이 제한을 연장 하지 않는 한 텍스트 32 K 이상의 포함 되지 것입니다. 텍스트의 첫 번째 64 K를 벗어나는 선택에 대 한 EM_GETSEL 메시지 반환-1.

 

Index