ITextHost::TxNotify 메서드(textserv.h)

텍스트 호스트에 다양한 이벤트를 알립니다.

구문

HRESULT TxNotify(
  [in] DWORD iNotify,
  [in] void  *pv
);

매개 변수

[in] iNotify

형식: DWORD

호스트에 알리는 이벤트입니다. EN_ 알림 코드 중 하나입니다.

[in] pv

형식: void*

iNotify에 종속된 추가 데이터입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK 반환합니다.

메서드가 실패하면 S_FALSE 반환합니다. COM 오류 코드에 대한 자세한 내용은 COM에서 오류 처리를 참조하세요.

설명

이벤트의 기본 범주에는 직접지연된 두 가지 범주가 있습니다. 직접 이벤트는 일부 처리(예: EN_PROTECTED)가 필요하기 때문에 즉시 전송됩니다. 지연된 이벤트는 모든 처리가 발생한 후에 전송됩니다. 따라서 컨트롤은 안정적인 상태입니다. 지연된 알림의 예로는 EN_CHANGE, EN_ERRSPACEEN_SELCHANGE 있습니다.

알림 이벤트는 서식 있는 편집 창의 부모 창으로 전송된 알림 코드와 동일합니다. 이벤트의 발생은 EM_SETEVENTMASK 메시지를 통해 설정된 마스크로 제어할 수 있습니다.

일반적으로 이 메서드를 처리하는 동안 텍스트 서비스 개체를 호출하는 것은 합법적입니다. 그러나 구현자는 과도한 재귀를 방지하기 위해 주의해야 합니다.

다음은 보낼 수 있는 알림 목록입니다.

알림 의미
EN_CHANGE 사용자가 컨트롤에서 텍스트를 변경했을 수 있는 작업을 수행할 때 시스템이 화면을 업데이트한 후에 전송됩니다.
EN_DROPFILES WM_DROPFILES 메시지 또는 IDropTarget::D ragEnter 알림이 수신될 때 전송됩니다.
EN_ERRSPACE 컨트롤이 지정된 요청을 충족하기에 충분한 메모리를 할당할 수 없는 경우 전송됩니다.
EN_HSCROLL 화면이 업데이트되기 전에 사용자가 컨트롤의 가로 스크롤 막대를 클릭할 때 전송됩니다.
EN_KILLFOCUS 컨트롤이 키보드 포커스를 잃을 때 전송됩니다.
EN_LINK 서식 있는 편집 컨트롤이 마우스 클릭 메시지와 같은 다양한 메시지를 수신할 때 마우스 포인터가 CFE_LINK 효과가 있는 텍스트 위에 있을 때 전송됩니다.
EN_MAXTEXT 현재 텍스트 삽입이 컨트롤의 최대 문자 수를 초과하면 전송됩니다.
EN_OLEOPFAILED OLE 개체에 대한 사용자 작업이 실패할 때 전송됩니다.
EN_PROTECTED 사용자가 보호된 텍스트 범위를 변경하는 작업을 수행할 때 전송됩니다.
EN_REQUESTRESIZE 서식 있는 편집 컨트롤의 내용이 컨트롤의 창 크기와 다를 때 전송됩니다.
EN_SAVECLIPBOARD 편집 컨트롤이 제거될 때 전송됩니다. 텍스트 호스트는 OleFlushClipboard 를 호출해야 하는지 여부를 나타내야 합니다. 플러시할 문자 및 개체 수를 나타내는 데이터는 ENSAVECLIPBOARD 데이터 구조로 전송됩니다. 마스크 값은 아무것도 없습니다.
EN_SELCHANGE 현재 선택 영역이 변경되면 전송됩니다. 선택 영역이 현재 끝난 데이터 형식의 새 선택 범위를 나타내는 SELCHANGE 데이터 구조도 전송됩니다. ENM_SELCHANGE 마스크를 통해 제어됩니다.
EN_SETFOCUS 편집 컨트롤이 키보드 포커스를 받을 때 전송됩니다. 추가 데이터가 전송되지 않습니다. 마스크가 없습니다.
EN_STOPNOUNDO 컨트롤이 실행 취소 상태를 유지하기에 충분한 메모리를 할당할 수 없는 작업이 발생할 때 전송됩니다. S_FALSE 반환되면 작업이 중지됩니다. 그렇지 않으면 작업이 계속됩니다.
EN_UPDATE 편집 컨트롤이 변경된 데이터 또는 텍스트의 다시 그리기를 요청하기 전에 전송됩니다. 추가 데이터가 전송되지 않습니다. 이 이벤트는 ENM_UPDATE 마스크를 통해 제어됩니다. 서식 있는 편집 2.0 이상:ENM_UPDATE 마스크는 무시되고 EN_UPDATE 알림 코드는 항상 전송됩니다. 그러나 Microsoft Rich Edit 3.0에서 Microsoft Rich Edit 1.0을 에뮬레이트하면 ENM_UPDATE 마스크가 이 알림을 제어합니다.
EN_VSCROLL 사용자가 편집 컨트롤의 세로 스크롤 막대를 클릭하거나 화면이 업데이트되기 전에 편집 컨트롤 위로 마우스 휠을 스크롤할 때 전송됩니다. 이는 ENM_SCROLL 마스크를 통해 제어됩니다. 추가 데이터가 전송되지 않습니다.
 
참고EN_MSGFILTERTxNotify로 전송되지 않습니다. 창 메시지를 필터링하려면 TxSendMessage를 사용합니다.
 

요구 사항

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

추가 정보

개념

EM_SETEVENTMASK

EN_CHANGE

EN_DROPFILES

EN_ERRSPACE

EN_HSCROLL

EN_KILLFOCUS

EN_LINK

EN_MAXTEXT

EN_OLEOPFAILED

EN_PROTECTED

EN_REQUESTRESIZE

EN_SAVECLIPBOARD

EN_SELCHANGE

EN_SETFOCUS

EN_STOPNOUNDO

EN_UPDATE

EN_VSCROLL

ITextHost

참조

창 없는 Rich Edit 컨트롤