Fungsi DrawTextExA (winuser.h)
Fungsi DrawTextEx menggambar teks yang diformat dalam persegi panjang yang ditentukan.
Sintaks
int DrawTextExA(
[in] HDC hdc,
[in, out] LPSTR lpchText,
[in] int cchText,
[in, out] LPRECT lprc,
[in] UINT format,
[in] LPDRAWTEXTPARAMS lpdtp
);
Parameter
[in] hdc
Handel ke konteks perangkat untuk menggambar.
[in, out] lpchText
Penunjuk ke string yang berisi teks yang akan digambar. Jika parameter cchText adalah -1, string harus dihentikan null.
Jika dwDTFormat menyertakan DT_MODIFYSTRING, fungsi dapat menambahkan hingga empat karakter tambahan ke string ini. Buffer yang berisi string harus cukup besar untuk mengakomodasi karakter tambahan ini.
[in] cchText
Panjang string yang ditujukkan oleh lpchText. Jika cchText adalah -1, maka parameter lpchText diasumsikan sebagai penunjuk ke string null-dihentikan dan DrawTextEx menghitung jumlah karakter secara otomatis.
[in, out] lprc
Penunjuk ke struktur RECT yang berisi persegi panjang, dalam koordinat logis, di mana teks akan diformat.
[in] format
Opsi pemformatan. Parameter ini bisa menjadi satu atau beberapa nilai berikut.
Nilai | Makna |
---|---|
|
Meratakan teks ke bagian bawah persegi. Nilai ini hanya digunakan dengan nilai DT_SINGLELINE. |
|
Menentukan lebar dan tinggi persegi. Jika ada beberapa baris teks, DrawTextEx menggunakan lebar persegi yang diacu oleh parameter lprc dan memperluas dasar persegi panjang untuk mengikat baris terakhir teks. Jika hanya ada satu baris teks, DrawTextEx memodifikasi sisi kanan persegi sehingga mengikat karakter terakhir dalam baris. Dalam kedua kasus, DrawTextEx mengembalikan tinggi teks yang diformat, tetapi tidak menggambar teks. |
|
Tengahkan teks secara horizontal dalam persegi. |
|
Menduplikasi karakteristik tampilan teks dari kontrol pengeditan multibaris. Secara khusus, lebar karakter rata-rata dihitung dengan cara yang sama seperti untuk kontrol edit, dan fungsi tidak menampilkan baris terakhir yang terlihat sebagian. |
|
Untuk teks yang ditampilkan, mengganti akhir string dengan elipsis sehingga hasilnya pas dalam persegi panjang yang ditentukan. Kata apa pun (bukan di akhir string) yang melampaui batas persegi panjang dipotong tanpa elipsis. String tidak dimodifikasi kecuali bendera DT_MODIFYSTRING ditentukan.
Bandingkan dengan DT_PATH_ELLIPSIS dan DT_WORD_ELLIPSIS. |
|
Memperluas karakter tab. Jumlah karakter default per tab adalah delapan. |
|
Menyertakan font eksternal di depan dalam tinggi baris. Biasanya, leading eksternal tidak disertakan dalam tinggi baris teks. |
|
Mengabaikan karakter awalan ampersand (&) dalam teks. Huruf berikut tidak akan digarisbawahi, tetapi karakter awalan mnemonik lainnya masih diproses.
Contoh: string input: "A&bc&&d" normal: "Abc&d" DT_HIDEPREFIX: "Abc&d" Bandingkan dengan DT_NOPREFIX dan DT_PREFIXONLY. |
|
Menggunakan font sistem untuk menghitung metrik teks. |
|
Meratakan teks ke kiri. |
|
Memodifikasi string yang ditentukan agar sesuai dengan teks yang ditampilkan. Nilai ini tidak berpengaruh kecuali DT_END_ELLIPSIS atau DT_PATH_ELLIPSIS ditentukan. |
|
Gambar tanpa kliping. DrawTextEx agak lebih cepat ketika DT_NOCLIP digunakan. |
|
Mencegah pemisah baris pada DBCS (string karakter lebar ganda), sehingga aturan pemisah baris setara dengan string SBCS. Misalnya, ini dapat digunakan di jendela Korea, untuk lebih banyak keterbacaan label ikon. Nilai ini tidak berpengaruh kecuali DT_WORDBREAK ditentukan. |
|
Menonaktifkan pemrosesan karakter awalan. Biasanya, DrawTextEx menginterpretasikan karakter ampersand (&) mnemonic-prefix sebagai direktif untuk menggarisbawahi karakter berikut, dan karakter awalan mnemonik ampersand ganda (&&) sebagai arahan untuk mencetak satu ampersand. Dengan menentukan DT_NOPREFIX, pemrosesan ini dimatikan. Bandingkan dengan DT_HIDEPREFIX dan DT_PREFIXONLY |
|
Untuk teks yang ditampilkan, mengganti karakter di tengah string dengan elipsis sehingga hasilnya pas dalam persegi panjang yang ditentukan. Jika string berisi karakter garis miring terbalik (\\), DT_PATH_ELLIPSIS mempertahankan sebanyak mungkin teks setelah garis miring terbalik terakhir. String tidak dimodifikasi kecuali bendera DT_MODIFYSTRING ditentukan.
Bandingkan dengan DT_END_ELLIPSIS dan DT_WORD_ELLIPSIS. |
|
Hanya menggambar garis bawah pada posisi karakter setelah karakter awalan ampersand (&). Tidak menggambar karakter apa pun dalam string.
Contoh: string input: "A&bc&&d" normal: "Abc&d" AWALAN: " _ " Bandingkan dengan DT_NOPREFIX dan DT_HIDEPREFIX. |
|
Meratakan teks ke kanan. |
|
Tata letak dalam urutan pembacaan kanan-ke-kiri untuk teks dua arah saat font yang dipilih ke hdc adalah font Ibrani atau Arab. Urutan pembacaan default untuk semua teks adalah kiri-ke-kanan. |
|
Menampilkan teks pada satu baris saja. Pengangkutan kembali dan umpan baris tidak merusak garis. |
|
Mengatur perhentian tab. Struktur DRAWTEXTPARAMS yang diacu oleh parameter lpDTParams menentukan jumlah lebar karakter rata-rata per perhentian tab. |
|
Meratakan teks ke bagian atas persegi. |
|
Tengahkan teks secara vertikal. Nilai ini hanya digunakan dengan nilai DT_SINGLELINE. |
|
Memecah kata-kata. Garis secara otomatis rusak di antara kata-kata jika kata meluas melewati tepi persegi panjang yang ditentukan oleh parameter lprc . Urutan umpan jalur kembali pengangkutan juga merusak garis. |
|
Memotong kata apa pun yang tidak pas di persegi panjang dan menambahkan elipsis.
Bandingkan dengan DT_END_ELLIPSIS dan DT_PATH_ELLIPSIS. |
[in] lpdtp
Penunjuk ke struktur DRAWTEXTPARAMS yang menentukan opsi pemformatan tambahan. Parameter ini bisa NULL.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah tinggi teks dalam unit logis. Jika DT_VCENTER atau DT_BOTTOM ditentukan, nilai yang dikembalikan adalah offset dari lprc->top
ke bagian bawah teks yang digambar
Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
Fungsi DrawTextEx hanya mendukung font yang escapement dan orientasinya adalah nol.
Mode perataan teks untuk konteks perangkat harus menyertakan bendera TA_LEFT, TA_TOP, dan TA_NOUPDATECP.
Catatan
Header winuser.h mendefinisikan DrawTextEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (termasuk Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Set API | ext-ms-win-ntuser-misc-l1-2-0 (diperkenalkan dalam Windows 8.1) |