다음을 통해 공유


ITextRange.Move(TextRangeUnit, Int32) 메서드

정의

삽입 지점을 지정된 단위 수만큼 앞으로 또는 뒤로이동합니다. 텍스트 범위가 퇴행되지 않으면 개수따라 텍스트 범위의 시작 또는 끝 위치에 있는 삽입 지점으로 축소된 다음 이동됩니다.

public:
 int Move(TextRangeUnit unit, int count);
int Move(TextRangeUnit const& unit, int const& count);
public int Move(TextRangeUnit unit, int count);
function move(unit, count)
Public Function Move (unit As TextRangeUnit, count As Integer) As Integer

매개 변수

unit
TextRangeUnit

삽입 지점을 이동할 단위입니다. 기본값은 문자.

count
Int32

int

삽입 지점을 이동할 단위 수입니다. 기본값은 1입니다. 개수 0보다 크면 삽입 지점이 스토리의 끝쪽으로 앞으로 이동합니다. 개수 0보다 작으면 삽입 지점이 스토리의 시작 부분으로 뒤로 이동합니다. 개수 0이면 범위는 변경되지 않습니다.

반환

Int32

int

삽입 포인터가 이동할 실제 단위 수입니다. 자세한 내용은 설명 섹션을 참조하세요.

설명

범위가 퇴화(삽입 지점)인 경우 이 메서드는 삽입 지점을개수로 지정된 단위 수를 이동하려고 합니다.

범위가 퇴행되지 않고 개수 0보다 큰 경우 이 메서드는 범위 끝의 삽입 지점으로 범위를 축소하고 결과 삽입 지점을 단위 경계로 앞으로 이동한 다음 개수 이동하려고 시도합니다.단위 1개입니다. 범위가 퇴화되지 않고 개수 0보다 작으면 이 메서드는 범위 시작 부분에 있는 삽입 지점으로 범위를 축소하고 결과 삽입 지점을 단위 경계로 뒤로 이동한 다음 개수 – 1 단위뒤로 이동하려고 시도합니다. 따라서 두 경우 모두 퇴행하지 않는 범위를 삽입 지점으로 축소하고, 축소 후 단위의 시작 또는 끝으로 이동하는지단위로 계산됩니다.

이 메서드는 실제로 이동된단위 수를 반환합니다. 이 메서드는 삽입 지점을 이 범위의 텍스트 영역 이상으로 이동하지 않습니다. 개수단위삽입 지점을 스토리의 시작 부분으로 이동하면 삽입 지점이 스토리 시작 부분으로 이동되고 그에 따라 결과가 설정됩니다. 마찬가지로, 개수단위스토리의 끝을 넘어 삽입 지점을 이동하면 스토리 끝으로 이동됩니다.

개수 Ctrl+오른쪽 화살표를 누른 횟수에 해당합니다.

예를 들어 다음 그림 둘 다에 표시된 선택 영역에 대해 Ctrl+오른쪽 화살표를 누르면 문자 위치 8에 삽입 지점이 나타납니다. 이 명령은 끝부분에 있는 선택 영역(각각 7과 8)을 축소하고 다음 Word 경계로 이동하기 때문입니다.

텍스트 문자열의 문자 위치 첫 번째 선택 영역에는 문자 위치 7의 공백이 포함되지 않으므로 Ctrl+오른쪽 화살표가 공백을 지나 문자 위치 8의 **Word** 경계로 이동합니다. 범위의 끝 위치는 이미 두 번째 선택 영역의 **Word** 경계에 있으므로 Ctrl+오른쪽 화살표는 해당 경계에서 선택 영역을 축소합니다. 마찬가지로 Ctrl+왼쪽 화살표는 이 텍스트에 대해 'Move(Word, -1)'와 같이 작동합니다. 그러나 Ctrl+왼쪽 화살표는 문자 위치 4에서 두 번째 선택 영역을 축소한 다음 0으로 이동합니다. 이는 동작 방향의 다음 **Word** 경계이기 때문입니다.

반환 인수는 퇴행되지 않은 범위를 축소하고 단위 경계로 이동하기 위한 단위 하나를 포함하여 삽입 지점이 이동되는 단위수와 동일하게 설정됩니다. 따라서 범위가 스토리 끝에 있는 삽입 지점일 때처럼 동작이 없고 축소가 발생하지 않으면 결과는 0으로 설정됩니다. 이 방법은 전체 스토리를 처리하는 앱 루프를 제어하는 데 유용합니다.

앞에서 언급한 두 경우 모두 범위가 축소되었으므로 Move(Word, 1) 호출하면 결과가 1로 설정됩니다. 마찬가지로 Move(Word, -1) 호출하면 두 경우 모두 결과가 1로 설정됩니다. 단위 일부를 단위 경계로 이동하거나 이동하지 않고 축소하면 이동된 단위로 계산됩니다.

동작 방향은 일반 텍스트 백업 저장소의 논리적 문자 순서를 나타냅니다. 이 방법은 국제 소프트웨어에서 왼쪽, 오른쪽 및 위쪽 및 아래쪽과 같은 기하학적 순서의 문제를 방지합니다. 물론 키보드에는 기하학적 움직임을 호출하는 화살표 키가 있기 때문에 편집 엔진에는 이러한 기하학적 메서드가 여전히 필요합니다.

ITextSelection UI 메서드는 마치 단일 문자인 것처럼 CR/LF(캐리지 리턴/줄 바꿈)를 통해 백업되지만 ITextRange.Move 메서드는 CR/LF(캐리지 리턴/줄 바꿈)를 두 문자로 계산합니다. 유니코드 단락 구분 문자인 0x2029 허용되더라도 CR으로 표현되는 단락 구분 기호로 단일 문자를 사용하는 것이 더 좋습니다. 일반적으로 리치 편집 컨트롤은 CR/LF(캐리지 리턴/줄 바꿈), CR, LF, VT(세로 탭), FF(양식 피드) 및 0x2029 지원합니다. Microsoft Rich Edit 2.0은 이전 버전과의 호환성을 위해 CR/CR/LF도 지원합니다.

ITextRange.MoveStartITextRange.MoveEnd 메서드를 참조하세요. 이 메서드는 각각단위 개수 범위 시작 또는 끝 위치를 이동합니다.

적용 대상

추가 정보