ITextStoreACP::SetText 메서드(textstor.h)
ITextStoreACP::SetText 메서드는 텍스트 선택 영역을 제공된 문자 위치로 설정합니다.
구문
HRESULT SetText(
[in] DWORD dwFlags,
[in] LONG acpStart,
[in] LONG acpEnd,
[in] const WCHAR *pchText,
[in] ULONG cch,
[out] TS_TEXTCHANGE *pChange
);
매개 변수
[in] dwFlags
TS_ST_CORRECTION 값으로 설정된 경우 텍스트는 기존 콘텐츠의 변환(수정)이며 파일 데이터 또는 언어 식별자 .wav 같은 특수 텍스트 태그 정보(메타데이터)가 유지됩니다. 클라이언트는 보존할 태그 정보의 유형을 정의합니다.
[in] acpStart
바꿀 텍스트의 시작 문자 위치를 지정합니다.
[in] acpEnd
바꿀 텍스트의 끝 문자 위치를 지정합니다. 값이 1이면 이 매개 변수는 무시됩니다.
[in] pchText
대체 텍스트에 대한 포인터를 지정합니다. 텍스트 문자 수가 cch 매개 변수에 지정되므로 텍스트 문자열을 NULL로 종료할 필요가 없습니다.
[in] cch
대체 텍스트의 문자 수를 지정합니다.
[out] pChange
다음 데이터가 있는 TS_TEXTCHANGE 구조체에 대한 포인터입니다.
값 | 의미 |
---|---|
|
텍스트가 문서에 삽입되기 전의 시작 응용 프로그램 문자 위치입니다. |
|
텍스트가 문서에 삽입되기 전의 끝 위치입니다. 이 값은 삽입 지점의 acpStart 와 동일합니다. 이 값이 acpStart와 다른 경우 텍스트 삽입 전에 텍스트가 선택되었습니다. |
|
텍스트 삽입 후의 끝 위치입니다. |
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
값 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. |
|
acpStart 또는 acpEnd 매개 변수는 문서 텍스트 외부에 있습니다. |
|
호출자에게 읽기/쓰기 잠금이 없습니다. |
|
문서는 읽기 전용입니다. 콘텐츠를 수정할 수 없습니다. |
|
영역 경계를 넘어 텍스트를 수정하려고 했습니다. |
설명
애플리케이션은 먼저 ITextStoreACP::InsertTextAtSelection을 사용하여 컴퍼지션을 시작해야 합니다. ITextStoreACP::SetText 는 기존 컴퍼지션 내에서만 사용해야 합니다. SetText가 호출되는 시점에 활성 컴퍼지션이 없는 경우 TSF 관리자는 SetText 호출을 래핑할 수 있을 만큼 오래 지속되는 컴퍼지션을 만듭니다.
acpStart 및 acpEnd 문자 위치는 문서 범위 밖에 있을 수 없습니다.
애플리케이션은 이 메서드에 대한 응답으로 ITextStoreACPSink::OnTextChange 메서드를 호출하면 안 됩니다.
이 메서드는 ITextStoreACP::SetSelection 메서드를 호출하여 변경할 텍스트를 선택해야 합니다. ITextStoreACP::SetSelection 메서드를 성공적으로 실행한 후 이 메서드는 ITextStoreACP::InsertTextAtSelection 메서드를 호출하여 실제 텍스트 변경을 수행합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | textstor.h |
DLL | Msctf.dll |
재배포 가능 파일 | Windows 2000 Professional의 TSF 1.0 |