次の方法で共有


IDWriteTextLayout::HitTestTextRange メソッド (dwrite.h)

アプリケーションは、この関数を呼び出して、テキスト位置の範囲に対応するヒット テスト メトリックのセットを取得します。 メインの使用法の 1 つは、テキスト文字列の強調表示の選択を実装することです。

hitTestMetrics のバッファー サイズが小さすぎて、関数によって計算されるすべての領域を保持するには、HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) と同じE_NOT_SUFFICIENT_BUFFERが返されます。 この場合、関数は出力値 *actualHitTestMetricsCount を計算されるジオメトリの数に設定します。

アプリケーションは、より大きなサイズの新しいバッファーを割り当て、関数を再度呼び出す役割を担います。

maxHitTestMetricsCount の初期値として使用するのに適した値は、次の式から計算できます。

maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth

ここで、lineCount は、出力引数 *actualLineCount の値 (関数 IDWriteTextLayout::GetLineLengths から) と、出力引数 *textMetrics の DWRITE_TEXT_METRICS 構造体 (関数 IDWriteFactory::CreateTextLayout から) の maxBidiReorderingDepth 値から取得されます。

構文

HRESULT HitTestTextRange(
                  UINT32                  textPosition,
                  UINT32                  textLength,
                  FLOAT                   originX,
                  FLOAT                   originY,
  [out, optional] DWRITE_HIT_TEST_METRICS *hitTestMetrics,
                  UINT32                  maxHitTestMetricsCount,
  [out]           UINT32                  *actualHitTestMetricsCount
);

パラメーター

textPosition

種類: UINT32

指定した範囲の最初のテキスト位置。

textLength

種類: UINT32

指定した範囲の位置の数。

originX

型: FLOAT

レイアウト ボックスの左側にある原点ピクセル位置 X。 このオフセットは、返されるヒット テスト メトリックに追加されます。

originY

型: FLOAT

レイアウト ボックスの上部にある原点ピクセル位置 Y。 このオフセットは、返されるヒット テスト メトリックに追加されます。

[out, optional] hitTestMetrics

種類: DWRITE_HIT_TEST_METRICS*

このメソッドが戻るとき、 には、指定した位置範囲を完全に囲む出力ジオメトリのバッファーへのポインターが含まれます。 バッファーは、 少なくとも maxHitTestMetricsCount と同じ大きさにする必要があります。

maxHitTestMetricsCount

種類: UINT32

hitTestMetrics がバッファー メモリに保持できるボックスの最大数。

[out] actualHitTestMetricsCount

型: UINT32*

実際のジオメトリ数 hitTestMetrics は 、バッファー メモリに保持します。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー dwrite.h
Library Dwrite.lib
[DLL] Dwrite.dll

こちらもご覧ください

IDWriteTextLayout