Freigeben über


StringFormat::GetTabStops-Methode (gdiplusstringformat.h)

Die StringFormat::GetTabStops-Methode ruft die Offsets der Registerkarte in diesem StringFormat-Objekt ab.

Syntax

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

Parameter

[in] count

Typ: INT

Ganzzahl, die die Anzahl der Tabstoppoffsets im tabStops-Array angibt.

[out] firstTabOffset

Typ: REAL*

Zeiger auf eine REAL-Position , die die anfängliche Offsetposition empfängt. Diese anfängliche Offsetposition ist relativ zum Ursprung der Zeichenfolge, und der Offset des ersten Tabstopps ist relativ zur anfänglichen Offsetposition.

[out] tabStops

Typ: REAL*

Zeiger auf ein Array vom Typ REAL , das die Tabstoppoffsets empfängt. Der Offset des ersten Tabstopps ist der erste Wert im Array, der Offset des zweiten Tabstopps, der zweite Wert im Array usw.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.

Hinweise

Jeder Tabstoppoffset im tabStops-Array , mit Ausnahme des ersten, ist relativ zum vorherigen. Der erste Tabstopp-Offset ist relativ zur anfänglichen Offsetposition, die von firstTabOffset angegeben wird. Wenn beispielsweise die anfängliche Offsetposition 8 und der erste Tabstopp-Offset 50 ist, befindet sich der erste Tabstopp an Position 58. Wenn die anfängliche Offsetposition 0 ist, ist der erste Tabstoppoffset relativ zur Position 0, dem Zeichenfolgenursprung.

Beispiele

Im folgenden Beispiel wird ein StringFormat-Objekt erstellt, Tabstopps festgelegt und das StringFormat-Objekt verwendet, um eine Zeichenfolge zu zeichnen, die Tabulatorzeichen (\t) enthält. Der Code zeichnet auch das Layoutrechteck der Zeichenfolge. Dann ruft der Code die Registerkarte an und fährt fort, um die Registerkarte zu verwenden oder in irgendeiner Weise zu überprüfen.

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].
   }
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusstringformat.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Formatieren von Text

Status

StringFormat