IDWriteTextLayout 接口表示经过完全分析和格式化后的文本块。
继承
IDWriteTextLayout 接口继承自 IDWriteTextFormat。 IDWriteTextLayout 还具有以下类型的成员:
方法
IDWriteTextLayout 接口具有这些方法。
备注
若要获取对 IDWriteTextLayout 接口的引用,应用程序必须调用 IDWriteFactory::CreateTextLayout 方法,如以下代码所示。
// 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.
        );
}
IDWriteTextLayout 接口允许应用程序更改由 DWRITE_TEXT_RANGE 结构指定的它所代表的文本范围的格式。 以下示例演示如何设置文本范围的字体粗细。
// 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 还提供向文本添加删除线、下划线和内联对象的方法。
为了绘制 由 IDWriteTextLayout 对象表示的文本块, Direct2D 提供 ID2D1RenderTarget::D rawTextLayout 方法。 若要使用自定义呈现器进行绘制,请实现 IDWriteTextRenderer 接口并调用 IDWriteTextLayout::D raw 方法
DirectWrite和 Direct2D
为了绘制由 IDWriteTextLayout 对象表示的格式化字符串, Direct2D 提供 ID2D1RenderTarget::D rawTextLayout 方法。其他呈现选项
若要使用自定义呈现器呈现,请使用 IDWriteTextLayout::D raw 方法,该方法将派生自 IDWriteTextRenderer 的 回调接口作为参数,如以下代码所示。
// Draw the text layout using DirectWrite and the CustomTextRenderer class.
hr = pTextLayout_->Draw(
        NULL,
        pTextRenderer_,  // Custom text renderer.
        origin.x,
        origin.y
        );
IDWriteTextRenderer 声明用于绘制字形运行、下划线、删除线和内联对象的方法。 由应用程序来实现这些方法。 创建自定义文本呈现器允许应用程序在呈现文本时应用其他效果,例如自定义填充或轮廓。
使用自定义文本呈现器还可以使用其他技术(如 GDI)进行呈现。
要求
| 最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] | 
| 最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] | 
| 目标平台 | Windows | 
| 标头 | dwrite.h |