Bagikan melalui


Enumerasi StringFormatFlags (gdiplusenums.h)

Enumerasi StringFormatFlags menentukan informasi tata letak teks (seperti orientasi dan kliping) dan manipulasi tampilan (seperti penyisipan elipsis, penggantian digit, dan representasi karakter yang tidak didukung oleh font).

Sintaks

typedef enum StringFormatFlags {
  StringFormatFlagsDirectionRightToLeft = 0x00000001,
  StringFormatFlagsDirectionVertical = 0x00000002,
  StringFormatFlagsNoFitBlackBox = 0x00000004,
  StringFormatFlagsDisplayFormatControl = 0x00000020,
  StringFormatFlagsNoFontFallback = 0x00000400,
  StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
  StringFormatFlagsNoWrap = 0x00001000,
  StringFormatFlagsLineLimit = 0x00002000,
  StringFormatFlagsNoClip = 0x00004000,
  StringFormatFlagsBypassGDI = 0x80000000
} ;

Konstanta

 
StringFormatFlagsDirectionRightToLeft
Nilai: 0x00000001
Menentukan bahwa urutan baca adalah kanan ke kiri. Untuk teks horizontal, karakter dibaca dari kanan ke kiri. Untuk teks vertikal, kolom dibaca dari kanan ke kiri. Secara default, teks horizontal atau vertikal dibaca dari kiri ke kanan.
StringFormatFlagsDirectionVertical
Nilai: 0x00000002
Menentukan bahwa baris teks individual digambar secara vertikal pada perangkat tampilan. Secara default, baris teks bersifat horizontal, setiap baris baru di bawah baris sebelumnya.
StringFormatFlagsNoFitBlackBox
Nilai: 0x00000004
Menentukan bahwa bagian karakter diizinkan untuk membalik persegi tata letak string. Secara default, karakter pertama-tama diselaraskan di dalam batas persegi panjang, kemudian karakter apa pun yang masih membagi batas-batas diposisikan ulang untuk menghindari overhang dan dengan demikian menghindari mempengaruhi piksel di luar persegi panjang tata letak. Huruf miring dan huruf kecil F (f) adalah contoh karakter yang mungkin memiliki bagian yang berlebihan. Mengatur bendera ini memastikan bahwa karakter selaras secara visual dengan garis di atas dan di bawahnya tetapi dapat menyebabkan bagian karakter, yang terletak di luar persegi tata letak, untuk dipotong atau dicat.
StringFormatFlagsDisplayFormatControl
Nilai: 0x00000020
Menentukan bahwa karakter kontrol tata letak Unicode ditampilkan dengan karakter perwakilan.
StringFormatFlagsNoFontFallback
Nilai: 0x00000400
Menentukan bahwa font alternatif digunakan untuk karakter yang tidak didukung dalam font yang diminta. Secara default, setiap karakter yang hilang ditampilkan dengan karakter "font hilang", biasanya kotak terbuka.
StringFormatFlagsMeasureTrailingSpaces
Nilai: 0x00000800
Menentukan bahwa ruang di akhir setiap baris disertakan dalam pengukuran string. Secara default, persegi panjang batas yang dikembalikan oleh
Metode Graphics::MeasureString mengecualikan spasi di akhir setiap baris. Atur bendera ini untuk menyertakan ruang tersebut dalam pengukuran.
StringFormatFlagsNoWrap
Nilai: 0x00001000
Menentukan bahwa pembungkusan teks ke baris berikutnya dinonaktifkan. NoWrap tersirat ketika titik asal digunakan alih-alih persegi panjang tata letak. Saat menggambar teks dalam persegi panjang, secara default, teks rusak pada batas kata terakhir yang berada di dalam batas persegi panjang dan dibungkus ke baris berikutnya.
StringFormatFlagsLineLimit
Nilai: 0x00002000
Menentukan bahwa hanya seluruh baris yang ditata dalam persegi tata letak. Secara default, tata letak berlanjut hingga akhir teks atau sampai tidak ada lagi baris yang terlihat sebagai akibat dari kliping, mana yang lebih dulu. Pengaturan default memungkinkan baris terakhir dikaburkan sebagian oleh persegi panjang tata letak yang bukan seluruh kelipatan tinggi garis. Untuk memastikan bahwa hanya seluruh garis yang terlihat, atur bendera ini dan berhati-hatilah untuk menyediakan persegi panjang tata letak setidaknya setinggi tinggi satu baris.
StringFormatFlagsNoClip
Nilai: 0x00004000
Menentukan bahwa karakter yang membalikkan persegi tata letak dan teks yang diperluas di luar persegi tata letak diizinkan untuk ditampilkan. Secara default, semua karakter dan teks yang membentang di luar persegi panjang tata letak dipotong. Spasi berikutnya (spasi yang berada di akhir garis) yang membentang di luar persegi panjang tata letak dipotong. Oleh karena itu, pengaturan bendera ini akan berpengaruh pada pengukuran string jika spasi berikutnya disertakan dalam pengukuran. Jika kliping diaktifkan, spasi berikutnya yang membentang di luar persegi tata letak tidak disertakan dalam pengukuran. Jika kliping dinonaktifkan, semua spasi berikutnya disertakan dalam pengukuran, terlepas dari apakah spasi berada di luar persegi panjang tata letak.
StringFormatFlagsBypassGDI
Nilai: 0x80000000

Keterangan

Beberapa set bendera dapat menghasilkan efek gabungan:

  • Ketika StringFormatFlagsDirectionVertical dan StringFormatFlagsDirectionRightToLeft diatur, baris teks individual digambar secara vertikal. Baris pertama dimulai di tepi kanan persegi tata letak; baris kedua teks berada di sebelah kiri baris pertama, dan sebagainya.
  • Ketika StringFormatFlagsDirectionVertical diatur dan StringFormatFlagsDirectionRightToLeft tidak diatur, baris teks individual digambar secara vertikal. Baris pertama dimulai di tepi kiri persegi panjang tata letak; baris kedua teks berada di sebelah kanan baris pertama.
  • Ketika StringFormatFlagsDirectionRightToLeft diatur dan StringFormatFlagsDirectionVertical tidak diatur, baris teks individual adalah horizontal dan urutan baca dari kanan ke kiri. Pengaturan ini tidak mengubah urutan di mana karakter ditampilkan, itu hanya menentukan urutan di mana karakter dapat dibaca.
Bendera StringFormatFlagsDirectionVertical dan StringFormatFlagsDirectionRightToLeft dapat memengaruhi perataan string.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header gdiplusenums.h (termasuk Gdiplus.h)

Lihat juga

Metode DrawString

Memformat Teks

Metode MeasureString

StringAlignment

StringDigitSubstitute

StringFormat::SetFormatFlags

StringTrimming