Bagikan melalui


Antarmuka IDWriteTextLayout (dwrite.h)

Antarmuka IDWriteTextLayout mewakili blok teks setelah dianalisis dan diformat sepenuhnya.

Warisan

Antarmuka IDWriteTextLayout mewarisi dari IDWriteTextFormat. IDWriteTextLayout juga memiliki jenis anggota berikut:

Metode

Antarmuka IDWriteTextLayout memiliki metode ini.

 
IDWriteTextLayout::D etermineMinWidth

Menentukan lebar minimum yang mungkin tata letak dapat diatur ke tanpa pemisahan darurat antara karakter seluruh kata yang terjadi.
IDWriteTextLayout::D raw

Menggambar teks menggunakan konteks gambar klien yang ditentukan.
IDWriteTextLayout::GetClusterMetrics

Mengambil properti logis dan pengukuran setiap kluster glyph.
IDWriteTextLayout::GetDrawingEffect

Mendapatkan efek gambar yang ditentukan aplikasi pada posisi teks yang ditentukan.
IDWriteTextLayout::GetFontCollection

Mendapatkan koleksi font yang terkait dengan teks pada posisi yang ditentukan.
IDWriteTextLayout::GetFontFamilyName

Menyalin nama keluarga font teks pada posisi yang ditentukan.
IDWriteTextLayout::GetFontFamilyNameLength

Dapatkan panjang nama keluarga font pada posisi saat ini.
IDWriteTextLayout::GetFontSize

Mendapatkan tinggi font em teks pada posisi yang ditentukan.
IDWriteTextLayout::GetFontStretch

Mendapatkan peregangan font teks pada posisi yang ditentukan.
IDWriteTextLayout::GetFontStyle

Mendapatkan gaya font (juga dikenal sebagai kelopak) teks pada posisi yang ditentukan.
IDWriteTextLayout::GetFontWeight

Mendapatkan bobot font teks pada posisi yang ditentukan.
IDWriteTextLayout::GetInlineObject

Mendapatkan objek sebaris pada posisi yang ditentukan.
IDWriteTextLayout::GetLineMetrics

Mengambil informasi tentang setiap baris teks individual dari string teks.
IDWriteTextLayout::GetLocaleName

Mendapatkan nama lokal teks pada posisi yang ditentukan.
IDWriteTextLayout::GetLocaleNameLength

Mendapatkan panjang nama lokal teks pada posisi yang ditentukan.
IDWriteTextLayout::GetMaxHeight

Mendapatkan tinggi maksimum tata letak.
IDWriteTextLayout::GetMaxWidth

Mendapatkan lebar maksimum tata letak.
IDWriteTextLayout::GetMetrics

Mengambil metrik keseluruhan untuk string yang diformat. (IDWriteTextLayout.GetMetrics)
IDWriteTextLayout::GetOverhangMetrics

Mengembalikan overhang (dalam DIP) tata letak dan semua objek yang terkandung di dalamnya, termasuk teks glyph dan objek sebaris.
IDWriteTextLayout::GetStrikethrough

Dapatkan kehadiran coretan teks pada posisi yang ditentukan.
IDWriteTextLayout::GetTypography

Mendapatkan pengaturan tipografi teks pada posisi yang ditentukan.
IDWriteTextLayout::GetUnderline

Mendapatkan kehadiran garis bawah teks pada posisi yang ditentukan.
IDWriteTextLayout::HitTestPoint

Aplikasi memanggil fungsi ini melewati lokasi piksel tertentu yang relatif terhadap lokasi kiri atas kotak tata letak dan mendapatkan informasi tentang metrik hit-test terkait dari string teks tempat tes klik terjadi.
IDWriteTextLayout::HitTestTextPosition

Aplikasi memanggil fungsi ini untuk mendapatkan lokasi piksel relatif terhadap kiri atas kotak tata letak mengingat posisi teks dan sisi logis posisi.
IDWriteTextLayout::HitTestTextRange

Aplikasi memanggil fungsi ini untuk mendapatkan serangkaian metrik hit-test yang sesuai dengan berbagai posisi teks. Salah satu penggunaan utama adalah menerapkan pemilihan sorotan dari string teks.
IDWriteTextLayout::SetDrawingEffect

Mengatur efek gambar yang ditentukan aplikasi.
IDWriteTextLayout::SetFontCollection

Mengatur koleksi font.
IDWriteTextLayout::SetFontFamilyName

Mengatur nama keluarga fonta yang dihentikan null untuk teks dalam rentang teks tertentu.
IDWriteTextLayout::SetFontSize

Menyetel ukuran font dalam unit DIP untuk teks dalam rentang teks tertentu.
IDWriteTextLayout::SetFontStretch

Mengatur peregangan font untuk teks dalam rentang teks tertentu.
IDWriteTextLayout::SetFontStyle

Mengatur gaya font untuk teks dalam rentang teks yang ditentukan oleh struktur DWRITE_TEXT_RANGE.
IDWriteTextLayout::SetFontWeight

Mengatur bobot font untuk teks dalam rentang teks yang ditentukan oleh struktur DWRITE_TEXT_RANGE.
IDWriteTextLayout::SetInlineObject

Mengatur objek sebaris.
IDWriteTextLayout::SetLocaleName

Mengatur nama lokal untuk teks dalam rentang teks tertentu.
IDWriteTextLayout::SetMaxHeight

Mengatur tinggi maksimum tata letak.
IDWriteTextLayout::SetMaxWidth

Mengatur lebar maksimum tata letak.
IDWriteTextLayout::SetStrikethrough

Mengatur coretan untuk teks dalam rentang teks tertentu.
IDWriteTextLayout::SetTypography

Mengatur fitur tipografi font untuk teks dalam rentang teks tertentu.
IDWriteTextLayout::SetUnderline

Mengatur garis bawah untuk teks dalam rentang teks tertentu.

Keterangan

Untuk mendapatkan referensi ke antarmuka IDWriteTextLayout , aplikasi harus memanggil metode IDWriteFactory::CreateTextLayout , seperti yang ditunjukkan dalam kode berikut.


// Create a text layout using the text format.
if (SUCCEEDED(hr))
{
    RECT rect;
    GetClientRect(hwnd_, &rect); 
    float width  = rect.right  / dpiScaleX_;
    float height = rect.bottom / dpiScaleY_;

    hr = pDWriteFactory_->CreateTextLayout(
        wszText_,      // The string to be laid out and formatted.
        cTextLength_,  // The length of the string.
        pTextFormat_,  // The text format to apply to the string (contains font information, etc).
        width,         // The width of the layout box.
        height,        // The height of the layout box.
        &pTextLayout_  // The IDWriteTextLayout interface pointer.
        );
}


Antarmuka IDWriteTextLayout memungkinkan aplikasi mengubah format untuk rentang teks yang diwakilinya, yang ditentukan oleh struktur DWRITE_TEXT_RANGE . Contoh berikut menunjukkan cara mengatur bobot font untuk rentang teks.


// Set the font weight to bold for the first 5 letters.
DWRITE_TEXT_RANGE textRange = {0, 4};

if (SUCCEEDED(hr))
{
    hr = pTextLayout_->SetFontWeight(DWRITE_FONT_WEIGHT_BOLD, textRange);
}


IDWriteTextLayout juga menyediakan metode untuk menambahkan coretan, garis bawah, dan objek sebaris ke teks.

Untuk menggambar blok teks yang diwakili oleh objek IDWriteTextLayout , Direct2D menyediakan metode ID2D1RenderTarget::D rawTextLayout . Untuk menggambar menggunakan perender kustom, terapkan antarmuka IDWriteTextRenderer dan panggil metode IDWriteTextLayout::D raw

DirectWrite dan Direct2D

Untuk menggambar string berformat yang diwakili oleh objek IDWriteTextLayout , Direct2D menyediakan metode ID2D1RenderTarget::D rawTextLayout .

Opsi Penyajian Lainnya

Untuk merender menggunakan perender kustom, gunakan metode IDWriteTextLayout::D raw , yang mengambil antarmuka panggilan balik yang berasal dari IDWriteTextRenderer sebagai argumen, seperti yang ditunjukkan dalam kode berikut.

// Draw the text layout using DirectWrite and the CustomTextRenderer class.
hr = pTextLayout_->Draw(
        NULL,
        pTextRenderer_,  // Custom text renderer.
        origin.x,
        origin.y
        );


IDWriteTextRenderer mendeklarasikan metode untuk menggambar eksekusi glyph, garis bawah, coretan, dan objek sebaris. Terserah aplikasi untuk menerapkan metode ini. Membuat perender teks kustom memungkinkan aplikasi menerapkan efek tambahan saat merender teks, seperti isian atau kerangka kustom.

Menggunakan perender teks kustom juga memungkinkan Anda merender menggunakan teknologi lain, seperti GDI.

Persyaratan

   
Klien minimum yang didukung Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header dwrite.h

Lihat juga

IDWriteTextFormat