Condividi tramite


Metodo StringFormat::GetTabStops (gdiplusstringformat.h)

Il metodo StringFormat::GetTabStops ottiene gli offset delle tabulazioni in questo oggetto StringFormat .

Sintassi

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

Parametri

[in] count

Tipo: INT

Intero che specifica il numero di offset tabulazioni nella matrice tabStops .

[out] firstTabOffset

Tipo: REAL*

Puntatore a un oggetto REAL che riceve la posizione di offset iniziale. Questa posizione di offset iniziale è relativa all'origine della stringa e l'offset della prima tabulazione è relativo alla posizione di offset iniziale.

[out] tabStops

Tipo: REAL*

Puntatore a una matrice di tipo REAL che riceve gli offset tabulazioni. L'offset della prima tabulazione è il primo valore della matrice, l'offset della seconda tabulazione, il secondo valore della matrice e così via.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Ogni offset tabulazione nella matrice tabStops , ad eccezione del primo, è relativo a quello precedente. Il primo offset tabulazione è relativo alla posizione di offset iniziale indicata da firstTabOffset. Ad esempio, se la posizione iniziale di offset è 8 e il primo offset tabulazione è 50, la prima tabulazione è in posizione 58. Se la posizione di offset iniziale è zero, il primo offset tabulazione è relativo alla posizione 0, l'origine stringa.

Esempio

L'esempio seguente crea un oggetto StringFormat , imposta le tabulazioni e usa l'oggetto StringFormat per disegnare una stringa contenente caratteri di tabulazione (\t). Il codice disegna anche il rettangolo di layout della stringa. Il codice ottiene quindi le tabulazioni e procede per usare o controllare le tabulazioni in qualche modo.

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

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusstringformat.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Formattazione del testo

Status

StringFormat