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 |