Bagikan melalui


StringFormat::Metode GetTabStops (gdiplusstringformat.h)

Metode StringFormat::GetTabStops mendapatkan offset tab berhenti di objek StringFormat ini.

Sintaks

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

Parameter

[in] count

Jenis: INT

Bilangan bulat yang menentukan jumlah offset tab-stop dalam array tabStops .

[out] firstTabOffset

Jenis: REAL*

Pointer ke REAL yang menerima posisi offset awal. Posisi offset awal ini relatif terhadap asal string dan offset pemberhentian tab pertama relatif terhadap posisi offset awal.

[out] tabStops

Jenis: REAL*

Penunjuk ke array jenis REAL yang menerima offset tab-stop. Offset perhentian tab pertama adalah nilai pertama dalam array, offset perhentian tab kedua, nilai kedua dalam array, dan sebagainya.

Menampilkan nilai

Jenis: Status

Jika metode berhasil, metode mengembalikan Ok, yang merupakan elemen dari enumerasi Status .

Jika metode gagal, metode mengembalikan salah satu elemen lain dari enumerasi Status .

Keterangan

Setiap offset tab-stop di array tabStops , kecuali yang pertama, relatif terhadap yang sebelumnya. Offset pemberhentian tab pertama relatif terhadap posisi offset awal yang ditunjukkan oleh firstTabOffset. Misalnya, jika posisi offset awal adalah 8 dan offset tab-stop pertama adalah 50, maka perhentian tab pertama berada di posisi 58. Jika posisi offset awal adalah nol, maka offset tab-stop pertama relatif terhadap posisi 0, asal string.

Contoh

Contoh berikut membuat objek StringFormat , mengatur perhentian tab, dan menggunakan objek StringFormat untuk menggambar string yang berisi karakter tab (\t). Kode ini juga menggambar persegi tata letak string. Kemudian, kode akan menghentikan tab dan melanjutkan penggunaan atau memeriksa tab berhenti dalam beberapa cara.

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

Persyaratan

   
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header gdiplusstringformat.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

Memformat Teks

Status

Format String