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_CHANGE、 EN_ERRSPACE、 EN_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 マスクによって制御されます。余分なデータは送信されません。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | textserv.h |
[DLL] | Msftedit.dll |
関連項目
概念
リファレンス