다음을 통해 공유


ImmSetCompositionStringA 함수(imm.h)

컴퍼지션 및 읽기 문자열의 문자, 특성 및 절을 설정합니다.

구문

BOOL ImmSetCompositionStringA(
                 HIMC   unnamedParam1,
  [in]           DWORD  dwIndex,
  [in, optional] LPVOID lpComp,
  [in]           DWORD  dwCompLen,
  [in, optional] LPVOID lpRead,
  [in]           DWORD  dwReadLen
);

매개 변수

unnamedParam1

[in] dwIndex

설정할 정보의 유형입니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

의미
SCS_SETSTR
컴퍼지션 문자열, 읽기 문자열 또는 둘 다를 설정합니다. lpComplpRead 매개 변수 중 하나 이상이 유효한 문자열을 나타내야 합니다. 두 문자열 중 하나가 너무 길면 IME에서 잘립니다.
SCS_CHANGEATTR
컴퍼지션 문자열, 읽기 문자열 또는 둘 다에 대한 특성을 설정합니다. lpComplpRead 매개 변수 중 하나 이상이 유효한 특성 배열을 나타내야 합니다.
SCS_CHANGECLAUSE
컴퍼지션 문자열, 읽기 문자열 또는 둘 다에 대한 절 정보를 설정합니다. lpComplpRead 매개 변수 중 하나 이상이 유효한 절 정보 배열을 가리킵니다.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: 지정된 RECONVERTSTRING 구조를 사용하여 문자열을 다시 변환하도록 IME에 요청합니다.
SCS_QUERYRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: IME에 RECONVERTSTRING 구조를 조정하도록 요청합니다. 그런 다음, 애플리케이션은 SCS_SETRECONVERTSTRING 사용하여 조정된 구조를 이 함수에 전달할 수 있습니다. IME는 WM_IME_COMPOSITION 메시지를 생성하지 않습니다.

[in, optional] lpComp

dwIndex 값으로 지정된 컴퍼지션 문자열에 대해 설정할 정보를 포함하는 버퍼에 대한 포인터입니다.

[in] dwCompLen

SCS_SETSTR 지정되고 버퍼에 유니코드 문자열이 포함된 경우에도 컴퍼지션 문자열에 대한 정보 버퍼의 크기(바이트)입니다.

[in, optional] lpRead

dwIndex 값으로 지정된 읽기 문자열에 대해 설정할 정보를 포함하는 버퍼에 대한 포인터입니다. 애플리케이션은 이 매개 변수를 NULL로 설정할 수 있습니다.

[in] dwReadLen

SCS_SETSTR 지정되고 버퍼에 유니코드 문자열이 포함된 경우에도 읽기 문자열에 대한 정보 버퍼의 크기(바이트)입니다.

반환 값

성공하면 0이 아닌 값을 반환하고, 그렇지 않으면 0을 반환합니다.

설명

애플리케이션은 lpComp, lpRead 또는 둘 다를 설정할 수 있습니다. 애플리케이션에서 lpComp에 대한 값을 지정하지 않으면 이 매개 변수를 NULL 로 설정하고 dwCompLen 을 0으로 설정해야 합니다.

애플리케이션이 특성을 변경하는 경우 절의 모든 문자에는 동일한 특성이 있어야 합니다. 변환된 문자에는 특성 ATTR_CONVERTED 또는 ATTR_TARGET_CONVERTED 있어야 합니다. 변환되지 않은 문자에는 특성 ATTR_INPUT 또는 ATTR_TARGET_NOTCONVERTED 있어야 합니다.

애플리케이션이 절 정보를 변경하는 경우 대상 절만 변경할 수 있으며 한 번에 하나의 경계에만 영향을 미칠 수 있습니다. 대상 절에는 특성 ATTR_TARGET_CONVERTED 또는 ATTR_TARGET_NOTCONVERTED 있습니다.

특성(ATTR_* 값)에 대한 자세한 내용은 컴퍼지션 문자열을 참조하세요.

IME가 변경 내용을 완료하면 애플리케이션에 WM_IME_COMPOSITION 메시지를 보내 변경 내용을 알립니다.

Windows Me/98, Windows 2000, Windows XP: SCS_*CONVERTSTRING 값은 다시 변환에 사용됩니다. SCS_CAP_SETRECONVERTSTRING 속성이 있는 IME에만 사용할 수 있습니다. 애플리케이션은 다음과 같이 이러한 값을 사용합니다.

  1. IME가 재구성에 대한 RECONVERTSTRING 구조를 조정하도록 SCS_QUERYRECONVERTSTRING ImmSetCompositionString을 호출합니다.
  2. IME가 새 컴퍼지션 문자열을 생성하도록 SCS_SETRECONVERTSTRING ImmSetCompositionString 을 호출합니다. 그런 다음 lpComplpRead 는 업데이트된 컴퍼지션 및 읽기 문자열을 포함하는 RECONVERTSTRING 구조를 나타냅니다. 선택한 IME에 SCS_CAP_MAKEREAD 설정된 경우에만 lpRead 값을 사용합니다.

참고

imm.h 헤더는 ImmSetCompositionString을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만],동아시아 언어 지원이 설치되었습니다.
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 imm.h(Immdev.h, Windows.h 포함)
라이브러리 Imm32.lib
DLL Imm32.dll

참고 항목

입력 메서드 관리자

입력 메서드 관리자 함수

RECONVERTSTRING

WM_IME_COMPOSITION