다음을 통해 공유


ITextRange::MoveWhile 메서드(tom.h)

범위의 지정된 끝에서 시작하여 문자가 Cset 에 지정된 집합에 속하고 문자 수가 Count보다 작거나 같은 동안 검색 합니다. 일치하지 않는 문자를 발견하면 범위가 삽입 지점으로 축소됩니다.

구문

HRESULT MoveWhile(
  VARIANT *Cset,
  long    Count,
  long    *pDelta
);

매개 변수

Cset

형식: VARIANT*

일치 항목에 사용할 문자 집합입니다. 명시적 문자 문자열 또는 문자 집합 인덱스일 수 있습니다. 자세한 내용은 문자 일치 집합을 참조하세요.

Count

형식: long

지나갈 최대 문자 수입니다. 기본값은 스토리의 끝을 검색하는 tomForward입니다. Count가 0보다 작으면 검색이 시작 위치에서 시작하여 스토리의 시작 부분으로 뒤로 이동합니다. Count가 0보다 크면 검색이 끝 위치에서 시작하여 스토리의 끝으로 이동합니다.

pDelta

형식: long*

끝 문자의 실제 수가 이동됩니다. 이 매개 변수는 null일 수 있습니다.

반환 값

형식: HRESULT

메서드는 HRESULT 값을 반환합니다. 메서드가 성공하면 S_OK 반환합니다. 메서드가 실패하면 다음 오류 코드 중 하나를 반환합니다. COM 오류 코드에 대한 자세한 내용은 COM에서 오류 처리를 참조하세요.

반환 코드 설명
E_INVALIDARG
Cset이 잘못되었습니다.
S_FALSE
다른 이유로 인해 실패합니다.

설명

ITextRange::MoveUntil에서 설명하는 동작은 기하학적이 아닌 논리적입니다. 즉, 움직임은 이야기의 끝을 향해 또는 이야기의 시작을 향해있다. 언어에 따라 스토리의 끝으로 이동하면 왼쪽으로 이동하거나 오른쪽으로 이동할 수 있습니다.

자세한 내용은 ITextRange의 토론 및 ITextRange::Move의 설명 섹션을 참조하세요.

ITextRange::MoveWhile 메서드는 ITextRange::MoveUntil과 유사하지만 Cset에서 지정한 집합의 멤버를 찾은 경우 MoveWhile는 검색하며 pDelta 값에 대한 추가 증가는 없습니다.

ITextRange::MoveStartWhileITextRange::MoveEndWhile 메서드는 각각 Cset 매개 변수로 지정된 문자 집합에 있는 모든 연속 문자를 지나서 시작과 끝을 이동합니다.

VARIANT 형식은 주로 Microsoft VBA(Visual Basic for Applications)와 같은 IDispatch 시나리오와 함께 사용되기 위한 것이지만 C 또는 C++에서도 쉽게 사용할 수 있습니다. 다음 C++ 코드는 RANGE r에서 숫자 범위를 일치시키는 데 VARIANT 인수를 초기화하고 사용하는 방법을 보여 줍니다.

VariantInit(&varg);
varg.vt = VT_I4;
varg.lVal = C1_DIGIT;
hr = r.MoveWhile(&varg, tomForward, pDelta); // Move IP past span of digits

또는 다음 샘플과 같이 명시적 문자열을 사용할 수 있습니다.

VariantInit(&varg);
bstr = SysAllocString("0123456789");
varg.vt = VT_BSTR;
varg.bstr = bstr;
hr =r.MoveWhile(&varg, tomForward, pDelta);    // Move IP past span of digits

다음 VBA 예제 코드는 범위 r의 다음 표준 SGML(일반화된 태그 언어) 항목의 본문과 일치합니다. SGML 항목은 로 <keyword ...> 시작하고 / keyword>로 <끝납니다.

r.Find <                  // Get to start of next tag
r.MoveWhile C1_SPACE      // Bypass any space characters
r.MoveEndWhile C1_ALPHA   // Match keyword
s$ = </ + r               // Create VBA string to search for
r.Find >                  // Bypass remainder of start tag
r.FindEnd s$              // Match up to end of closing keyword
r.FindEnd <, tomStart     // Back up to start of end tag
                          // r has body of SGML entry
                           

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 tom.h
DLL Msftedit.dll

추가 정보

개념

ITextRange

이동

MoveEndWhile

MoveStartWhile

MoveUntil

참조

텍스트 개체 모델