다음을 통해 공유


ITextServices::TxSendMessage 메서드(textserv.h)

창 호스트에서 창에서 텍스트 서비스 개체로 보낸 메시지를 전달하는 데 사용됩니다.

구문

HRESULT TxSendMessage(
  UINT    msg,
  WPARAM  wparam,
  LPARAM  lparam,
  LRESULT *plresult
);

매개 변수

msg

형식: UINT

메시지 식별자입니다.

wparam

형식: WPARAM

창 메시지의 WPARAM 입니다.

lparam

형식: LPARAM

창 메시지의 LPARAM 입니다.

plresult

형식: LRESULT*

메시지의 반환 LRESULT입니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 S_OK.

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

반환 코드 설명
E_OUTOFMEMORY
메모리가 부족합니다. NOERROR 메시지가 처리되었고 일부 작업이 수행되었습니다.
S_FALSE
메시지가 처리되지 않았습니다. 일반적으로 호출자는 잠재적으로 DefWindowProc을 호출하여 메시지 자체를 처리해야 했음을 나타냅니다.
S_MSG_KEYIGNORED
메시지가 처리되었지만 키 입력에 대해 아무 작업도 수행되지 않았습니다.

설명

이 함수에서 두 개의 반환 값이 다시 전달됩니다. 창 프로시저에서 다시 전달해야 하는 반환 값은 plresult입니다. 그러나 반환된 LRESULT 에 충분한 정보가 포함되지 않는 경우도 있습니다. 예를 들어 컨트롤 주위로 커서를 이동하는 것을 구현하려면 키 입력(예: 오른쪽 화살표)이 처리되었지만 무시되었는지(예: caret가 텍스트에서 가장 오른쪽 위치에 이미 있습니다)를 아는 것이 유용합니다. 이러한 경우 반환된 HRESULT를 통해 자세한 정보가 반환될 수 있습니다.

WM_CHARWM_KEYDOWN 키 또는 문자가 인식될 때 S_MSG_KEYIGNORED 값을 반환해야 하지만 현재 상태를 고려할 때 아무런 효과가 없습니다. 예를 들어 다음과 같은 경우 S_MSG_KEYIGNORED 반환되어야 합니다.

  • 삽입 지점을 문서의 시작 또는 끝으로 이동하거나 문서 끝으로 이동하려는 모든 키 입력 이미 문서의 시작 또는 끝에 있는 경우 입니다.
  • 삽입 포인터가 이미 마지막 줄에 있는 경우 다음 줄로 이동하거나 다음 줄을 지나려고 하는 모든 키 입력 또는 이전 줄이 이미 첫 번째 줄에 있는 경우 또는 이전 줄 앞에 있습니다.
  • 삽입 지점을 컨트롤의 최대 길이를 지나 이동하는 WM_CHAR 문자를 삽입합니다.

요구 사항

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

추가 정보

개념

DefWindowProc

ITextServices

기타 리소스

WM_CHAR

WM_KEYDOWN

창 없는 Rich Edit 컨트롤