ITextServices::OnTxInPlaceActivate メソッド (textserv.h)
このコントロールがインプレース アクティブであることをテキスト サービス オブジェクトに通知します。
構文
HRESULT OnTxInPlaceActivate(
[in] LPCRECT prcClient
);
パラメーター
[in] prcClient
型: const RECT*
コントロールのクライアント四角形。
戻り値
型: HRESULT
オブジェクトが正常にアクティブ化された場合、戻り値は S_OK。
エラーが原因でオブジェクトをアクティブにできなかった場合、戻り値はE_FAIL。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。
解説
インプレース アクティブとは、埋め込みオブジェクトが インプレースで実行 されていることを意味します (たとえば、通常のコントロールや埋め込みの場合は、描画するウィンドウがあります)。 一方、UI がアクティブな場合は、オブジェクトに現在 編集フォーカスがあることを意味します。 たとえば、コンテナーのメニューやツール バーなどには、UI アクティブコントロール/埋め込みからの要素も含まれている場合があります。 UI アクティブ コントロールは、任意の時点で 1 つだけ存在しますが、多くのインプレース アクティブ コントロールが存在する可能性があります。
UI のアクティブ化は、フォーカスの取得とは異なります。 コントロールがフォーカスを取得または失っていることをテキスト サービス オブジェクトに通知するために、ホストは メッセージWM_SETFOCUS および WM_KILLFOCUS メッセージを送信します。 また、ウィンドウレス ホストは、これらのメッセージの wParam (フォーカスを失ったウィンドウ) として NULL を渡すことに注意してください。
非アクティブ状態から UI アクティブ状態に直接移行する場合、ホストは最初 に ITextServices::OnTxInPlaceActivate を呼び出し、次に ITextServices::OnTxUIActivate を呼び出す必要があります。
ITextServices::OnTxInPlaceActivate は、アクティブ化されるビューのクライアント四角形をパラメーターとして受け取ります。 この四角形は、格納しているウィンドウのクライアント座標で指定されます。 これは、ホストで TxGetClientRect を呼び出すことによって取得されるのと同じです。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | textserv.h |
[DLL] | Msftedit.dll |
関連項目
概念
その他のリソース
リファレンス