다음을 통해 공유


Word 및 줄 바꿈 정보를 사용하는 방법

서식 있는 편집 컨트롤은 단어 구분 프로시저라는 함수를 호출하여 단어 사이의 구분을 찾고 줄을 구분할 수 있는 위치를 결정합니다. 컨트롤은 자동 줄 바꿈 작업을 수행할 때와 CTRL+왼쪽 화살표 키 및 CTRL+오른쪽 화살표 키 조합을 처리할 때 이 정보를 사용합니다. 애플리케이션은 서식 있는 편집 컨트롤에 메시지를 보내 기본 단어 분리 프로시저를 바꾸고, 단어 분리 정보를 검색하고, 지정된 문자가 어느 줄에 속하는지 확인할 수 있습니다.

알아야 하는 작업

기술

필수 구성 요소

  • C/C++
  • Windows 사용자 인터페이스 프로그래밍

지침

Word 및 줄 바꿈 정보 사용

서식 있는 편집 컨트롤에 대한 단어 분리 프로시저는 편집 컨트롤과 비슷하지만, 추가 기능이 있습니다. 즉, 두 종류의 컨트롤에 대한 단어 분리 프로시저에서 문자가 구분 기호인지 여부를 확인할 수 있고 지정된 위치 앞뒤에서 가장 가까운 단어 분리를 찾을 수 있습니다. 구분 기호는 공백과 같은 단어의 끝을 표시하는 문자입니다. 일반적으로 편집 컨트롤에서 단어 분리는 구분 기호 뒤에서만 발생합니다. 그러나 대부분의 아시아 언어에는 다른 규칙이 적용됩니다.

서식 있는 편집 컨트롤에 대한 단어 분리 프로시저는 문자를 문자 클래스로 그룹화하며, 각각 0x00 ~ 0x0F 범위의 값으로 식별됩니다. 구분 기호 뒤에서 또는 다른 클래스의 문자 사이에서 분리가 발생합니다. 이에 따라 영숫자와 문장 부호 문자에 대한 클래스가 서로 다른 단어 분리 프로시저는 ‘Win.doc’ 문자열(마침표 앞뒤)에서 두 개의 단어 분리를 찾을 수 있습니다.

문자의 클래스는 0개 이상의 단어 분리 플래그와 결합하여 8비트 값을 형성할 수 있습니다. 자동 줄 바꿈 작업을 수행할 때 서식 있는 편집 컨트롤은 단어 분리 플래그를 사용하여 줄을 바꿀 수 있는 위치를 결정합니다. Rich Edit에서 사용하는 단어 분리 플래그는 다음과 같습니다.

플래그 설명
WBF_BREAKAFTER 문자 뒤에서 줄을 바꿀 수 있습니다.
WBF_BREAKLINE 문자가 구분 기호입니다. 구분 기호가 단어의 끝을 표시합니다. 구분 기호 뒤에서 줄을 바꿀 수 있습니다.
WBF_ISWHITE 문자가 공백 문자입니다. 줄 바꿈 시 후행 공백 문자는 줄 길이에 포함되지 않습니다.

 

WBF_BREAKAFTER 값은 하이픈과 같이 단어의 끝을 표시하지 않는 문자 뒤에서 줄 바꿈을 허용하는 데 사용됩니다.

EM_SETWORDBREAKPROC 메시지를 사용하여 서식 있는 편집 컨트롤의 기본 단어 분리 프로시저를 고유한 프로시저로 바꿀 수 있습니다. 단어 분리 프로시저에 대한 자세한 내용은 EditWordBreakProc 함수 설명을 참조하세요.

참고

다국어 단어 분리의 복잡성으로 인해 Microsoft Rich Edit 2.0 이상에서는 이 대체가 권장되지 않습니다.

 

Microsoft Rich Edit 1.0에서는 EM_SETWORDBREAKPROCEX 메시지를 사용하여 기본 확장된 단어 분리 프로시저를 EditWordBreakProcEx 함수로 바꿀 수 있습니다. 이 함수는 문자 집합과 같은 텍스트에 대한 추가 정보를 제공합니다. EM_GETWORDBREAKPROCEX 메시지를 사용하여 현재 확장된 단어 분리 프로시저의 주소를 검색할 수 있습니다. Microsoft Rich Edit 2.0 이상에서는 EditWordBreakProcEx, EM_GETWORDBREAKPROCEXEM_SETWORDBREAKPROCEX를 지원하지 않습니다.

EM_FINDWORDBREAK 메시지를 사용하여 단어 분리를 찾거나 문자의 클래스 및 단어 분리 플래그를 확인할 수 있습니다. 그런 다음 컨트롤에서 단어 분리 프로시저를 호출하여 요청된 정보를 가져옵니다.

지정된 문자가 어떤 줄에 속하는지 확인하려면 EM_EXLINEFROMCHAR 메시지를 사용하면 됩니다.

서식 있는 편집 컨트롤 사용

Windows 공용 컨트롤 데모(CppWindowsCommonControls)