Share via


ITextServices::TxSendMessage メソッド (textserv.h)

ウィンドウ ホストが、そのウィンドウからテキスト サービス オブジェクトに送信されたメッセージを転送するために使用されます。

構文

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

パラメーター

msg

型: UINT

メッセージ ID。

wparam

種類: WPARAM

ウィンドウのメッセージからの WPARAM

lparam

種類: LPARAM

ウィンドウのメッセージからの LPARAM

plresult

型: LRESULT*

メッセージの LRESULT が返されます。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値は S_OK

メソッドが失敗した場合、戻り値は次のいずれかの HRESULT コードになります。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。

リターン コード 説明
E_OUTOFMEMORY
メモリ不足です。 NOERROR メッセージが処理され、何らかのアクションが実行されました。
S_FALSE
メッセージが処理されませんでした。 通常は、呼び出し元が DefWindowProc を呼び出すことによって、メッセージ自体を処理する必要があることを示します。
S_MSG_KEYIGNORED
メッセージは処理されましたが、キーストロークに対するアクションは実行されませんでした。

注釈

この関数から 2 つの戻り値が返されることに注意してください。 ウィンドウ プロシージャから返される戻り値は plresult です。 ただし、返される LRESULT に十分な情報が含まれていない場合があります。 たとえば、コントロールの周りにカーソルを移動するを実装するには、キーストローク (右矢印など) が処理されたが無視された (たとえば、キャレットがテキストの右端にあるなど) かどうかを知ると便利です。 このような場合は、返された 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

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