次の方法で共有


StringFormat::GetTabStops メソッド (gdiplusstringformat.h)

StringFormat::GetTabStops メソッドは、この StringFormat オブジェクト内のタブ位置のオフセットを取得します。

構文

Status GetTabStops(
  [in]  INT  count,
  [out] REAL *firstTabOffset,
  [out] REAL *tabStops
);

パラメーター

[in] count

型: INT

tabStops 配列内のタブ位置オフセットの数を指定する整数。

[out] firstTabOffset

種類: REAL*

最初のオフセット位置を受け取る REAL へのポインター。 この初期オフセット位置は文字列の原点に対する相対位置であり、最初のタブ位置のオフセットは初期オフセット位置に対して相対的です。

[out] tabStops

種類: REAL*

タブ位置オフセットを受け取る REAL 型の配列へのポインター。 最初のタブ位置のオフセットは、配列内の最初の値、2 番目のタブ位置のオフセット、配列内の 2 番目の値などです。

戻り値

種類: 状態

メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

解説

tabStops 配列内の各タブ位置オフセット (最初のタブを除く) は、前のタブに対する相対位置です。 最初のタブ位置オフセットは、 firstTabOffset によって示される初期オフセット位置に対する相対位置です。 たとえば、最初のオフセット位置が 8 で、最初のタブストップ オフセットが 50 の場合、最初のタブ位置は位置 58 になります。 最初のオフセット位置が 0 の場合、最初のタブ位置オフセットは位置 0 (文字列の原点) に対する相対位置になります。

次の例では、 StringFormat オブジェクトを作成し、タブ位置を設定し、 StringFormat オブジェクトを使用してタブ文字 (\t) を含む文字列を描画します。 このコードでは、文字列のレイアウト四角形も描画されます。 次に、コードはタブ位置を取得し、何らかの方法でタブ位置の使用または検査に進みます。

VOID Example_GetTabStop(HDC hdc)
{
   Graphics graphics(hdc);

   REAL         tabs[] = {150, 100, 100};
   FontFamily   fontFamily(L"Courier New");
   Font         font(&fontFamily, 12, FontStyleRegular, UnitPoint);
   SolidBrush   solidBrush(Color(255, 0, 0, 255));

   StringFormat stringFormat;
   stringFormat.SetTabStops(0, 3, tabs);
   graphics.DrawString(
      L"Name\tTest 1\tTest 2\tTest 3", 
      25, 
      &font, 
      RectF(20, 20, 500, 100), 
      &stringFormat, 
      &solidBrush);

   // Draw the rectangle that encloses the text.
   Pen pen(Color(255, 255, 0, 0));
   graphics.DrawRectangle(&pen, 20, 20, 500, 100);

   // Get the tab stops.
   INT   tabStopCount = 0;
   REAL  firstTabOffset = 0;
   REAL* tabStops = NULL;

   tabStopCount = stringFormat.GetTabStopCount();
   tabStops = (REAL*)malloc(tabStopCount*sizeof(REAL));
   stringFormat.GetTabStops(tabStopCount, &firstTabOffset, tabStops);

   for(INT j = 0; j < tabStopCount; ++j)
   {
      // Inspect or use the value in tabStops[j].
   }
}

要件

   
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー gdiplusstringformat.h (Gdiplus.h を含む)
Library Gdiplus.lib
[DLL] Gdiplus.dll

関連項目

テキストの書式設定

状態

StringFormat