ITextHost::TxNotify メソッド (textserv.h)

テキスト ホストにさまざまなイベントを通知します。

構文

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

パラメーター

[in] iNotify

種類: DWORD

ホストに通知するイベント。 EN_通知コードの 1 つ。

[in] pv

型: void*

iNotify に依存する追加データ。

戻り値

種類: HRESULT

メソッドが成功した場合は、S_OKを返します。

メソッドが失敗した場合は、S_FALSEを返します。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。

注釈

イベントには、 ダイレクト イベントと 遅延 イベントの 2 つの基本的なカテゴリがあることに注意してください。 直接イベントは、 EN_PROTECTEDなどの処理が必要であるため、直ちに送信されます。 遅延イベントは、すべての処理が発生した後に送信されます。したがって、コントロールは安定した状態になります。 遅延通知の例としては、 EN_CHANGEEN_ERRSPACEEN_SELCHANGEがあります。

通知イベントは、リッチエディット ウィンドウの親ウィンドウに送信される通知コードと同じです。 イベントの発生は、 EM_SETEVENTMASK メッセージを介してマスクセットで制御できます。

一般に、このメソッドの処理中にテキスト サービス オブジェクトを呼び出すのは有効です。ただし、実装者は過剰な再帰を避けるために注意が必要です。

送信される可能性のある通知の一覧を次に示します。

Notification 意味
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

リファレンス

ウィンドウレスリッチエディットコントロール