다음을 통해 공유


ITextStoreAnchor::SetText 메서드(textstor.h)

ITextStoreAnchor::SetText 메서드는 제공된 두 앵커 위치 간에 텍스트 선택을 설정합니다.

구문

HRESULT SetText(
  [in] DWORD       dwFlags,
  [in] IAnchor     *paStart,
  [in] IAnchor     *paEnd,
  [in] const WCHAR *pchText,
  [in] ULONG       cch
);

매개 변수

[in] dwFlags

TS_ST_CORRECTION 값으로 설정된 경우 텍스트는 기존 콘텐츠의 변환(수정)이며 파일 데이터 또는 언어 식별자 .wav 같은 특수 텍스트 태그 정보(메타데이터)가 유지됩니다. 클라이언트는 보존할 태그 정보의 유형을 정의합니다.

[in] paStart

바꿀 텍스트 범위의 시작 부분에 있는 앵커에 대한 포인터입니다.

[in] paEnd

바꿀 텍스트 범위의 끝에 있는 앵커에 대한 포인터입니다. 항상 paStart와 동일한 위치에 있거나 와야 합니다.

[in] pchText

대체 텍스트에 대한 포인터입니다. 텍스트 문자 수가 cch 매개 변수에 지정되므로 텍스트 문자열을 NULL로 종료할 필요가 없습니다.

[in] cch

대체 텍스트의 문자 수를 지정합니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

Description
S_OK
메서드를 성공적으로 수행했습니다.
E_FAIL
메서드가 paStart 또는 paEnd 앵커 중 하나를 인스턴스화할 수 없습니다.
TS_E_INVALIDPOS
paStart 또는 paEnd의 위치가 문서 텍스트 외부에 있습니다.
TS_E_NOLOCK
호출자에게 읽기/쓰기 잠금이 없습니다.
TS_E_READONLY
문서는 읽기 전용입니다. 콘텐츠를 수정할 수 없습니다.
TS_E_REGION
영역 경계를 넘어 텍스트를 수정하려고 했습니다.

설명

애플리케이션은 먼저 ITextStoreAnchor::InsertTextAtSelection을 사용하여 컴퍼지션을 시작해야 합니다. ITextStoreAnchor::SetText 는 기존 컴퍼지션 내에서만 사용해야 합니다. SetText가 호출되는 시점에 활성 컴퍼지션이 없는 경우 TSF 관리자는 SetText 호출을 래핑할 수 있을 만큼 오래 지속되는 컴퍼지션을 만듭니다.

호출자는 ITextStoreAnchor::RequestLock을 통해 얻은 쓰기 잠금을 보유해야 합니다. 그렇지 않으면 ITextStoreAnchor::SetText 가 TS_E_NOLOCK 실패합니다.

paStartpaEnd와 동일한 위치에 있는 경우 작업은 삽입이며 기존 텍스트는 제거되지 않습니다.

TS_CHAR_EMBEDDED 이 메서드에 전달할 수 없습니다. 포함된 개체의 경우 ITextStoreAnchor::InsertEmbedded를 대신 사용합니다.

대체된 텍스트 범위가 영역 경계를 포함하는 경우 이 메서드는 실패합니다. 대신 호출자는 각 지역에 대해 하나씩 메서드를 여러 번 호출해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 textstor.h
DLL Msctf.dll
재배포 가능 파일 Windows 2000 Professional의 TSF 1.0

추가 정보

작곡

포함된 개체

ITextStoreAnchor

ITextStoreAnchor::InsertEmbedded

ITextStoreAnchor::RequestLock

ITextStoreAnchorSink::OnTextChange

기타 텍스트 저장소 상수