Interfaccia IDWriteTextLayout (dwrite.h)

L'interfaccia IDWriteTextLayout rappresenta un blocco di testo dopo che è stato completamente analizzato e formattato.

Ereditarietà

L'interfaccia IDWriteTextLayout eredita da IDWriteTextFormat. IDWriteTextLayout include anche questi tipi di membri:

Metodi

L'interfaccia IDWriteTextLayout include questi metodi.

 
IDWriteTextLayout::D etermineMinWidth

Determina la larghezza minima possibile che il layout possa essere impostato su senza interruzione di emergenza tra i caratteri di intere parole che si verificano.
IDWriteTextLayout::D raw

Disegna testo usando il contesto di disegno client specificato.
IDWriteTextLayout::GetClusterMetrics

Recupera le proprietà logiche e le misurazioni di ogni cluster glifo.
IDWriteTextLayout::GetDrawingEffect

Ottiene l'effetto disegno definito dall'applicazione nella posizione di testo specificata.
IDWriteTextLayout::GetFontCollection

Ottiene la raccolta di caratteri associata al testo nella posizione specificata.
IDWriteTextLayout::GetFontFamilyName

Copia il nome della famiglia di caratteri del testo nella posizione specificata.
IDWriteTextLayout::GetFontFamilyNameLength

Ottenere la lunghezza del nome della famiglia di caratteri nella posizione corrente.
IDWriteTextLayout::GetFontSize

Ottiene l'altezza del carattere em del testo nella posizione specificata.
IDWriteTextLayout::GetFontStretch

Ottiene l'estensione del carattere del testo nella posizione specificata.
IDWriteTextLayout::GetFontStyle

Ottiene lo stile del carattere (noto anche come pendenza) del testo nella posizione specificata.
IDWriteTextLayout::GetFontWeight

Ottiene il peso del carattere del testo nella posizione specificata.
IDWriteTextLayout::GetInlineObject

Ottiene l'oggetto inline nella posizione specificata.
IDWriteTextLayout::GetLineMetrics

Recupera le informazioni su ogni singola riga di testo della stringa di testo.
IDWriteTextLayout::GetLocaleName

Ottiene il nome delle impostazioni locali del testo nella posizione specificata.
IDWriteTextLayout::GetLocaleNameLength

Ottiene la lunghezza del nome delle impostazioni locali del testo nella posizione specificata.
IDWriteTextLayout::GetMaxHeight

Ottiene l'altezza massima del layout.
IDWriteTextLayout::GetMaxWidth

Ottiene la larghezza massima del layout.
IDWriteTextLayout::GetMetrics

Recupera le metriche complessive per la stringa formattata. (IDWriteTextLayout.GetMetrics)
IDWriteTextLayout::GetOverhangMetrics

Restituisce gli overhangs (in DIP) del layout e tutti gli oggetti contenuti in esso, inclusi glifi di testo e oggetti inline.
IDWriteTextLayout::GetStrike through

Ottenere la presenza di barratura del testo nella posizione specificata.
IDWriteTextLayout::GetTypography

Ottiene l'impostazione tipografica del testo nella posizione specificata.
IDWriteTextLayout::GetUnderline

Ottiene la presenza di sottolineatura del testo nella posizione specificata.
IDWriteTextLayout::HitTestPoint

L'applicazione chiama questa funzione passando una posizione di pixel specifica rispetto alla posizione superiore sinistra della casella di layout e ottiene le informazioni sulle metriche di hit test corrispondenti della stringa di testo in cui si è verificato il hit test.
IDWriteTextLayout::HitTestTextPosition

L'applicazione chiama questa funzione per ottenere la posizione del pixel rispetto alla casella di layout in alto a sinistra, in base alla posizione di testo e al lato logico della posizione.
IDWriteTextLayout::HitTestTextRange

L'applicazione chiama questa funzione per ottenere un set di metriche di hit test corrispondenti a un intervallo di posizioni di testo. Uno dei principali usi consiste nell'implementare la selezione dell'evidenziazione della stringa di testo.
IDWriteTextLayout::SetDrawingEffect

Imposta l'effetto disegno definito dall'applicazione.
IDWriteTextLayout::SetFontCollection

Imposta la raccolta di caratteri.
IDWriteTextLayout::SetFontFamilyName

Imposta il nome della famiglia di caratteri con terminazione null per il testo all'interno di un intervallo di testo specificato.
IDWriteTextLayout::SetFontSize

Imposta le dimensioni del carattere nelle unità DIP per il testo all'interno di un intervallo di testo specificato.
IDWriteTextLayout::SetFontStretch

Imposta l'estensione del carattere per il testo all'interno di un intervallo di testo specificato.
IDWriteTextLayout::SetFontStyle

Imposta lo stile del tipo di carattere per il testo all'interno di un intervallo di testo specificato da una struttura DWRITE_TEXT_RANGE.
IDWriteTextLayout::SetFontWeight

Imposta il peso del carattere per il testo all'interno di un intervallo di testo specificato da una struttura DWRITE_TEXT_RANGE.
IDWriteTextLayout::SetInlineObject

Imposta l'oggetto inline.
IDWriteTextLayout::SetLocaleName

Imposta il nome delle impostazioni locali per il testo all'interno di un intervallo di testo specificato.
IDWriteTextLayout::SetMaxHeight

Imposta l'altezza massima del layout.
IDWriteTextLayout::SetMaxWidth

Imposta la larghezza massima del layout.
IDWriteTextLayout::SetStrike through

Imposta la procedura di attacco per il testo all'interno di un intervallo di testo specificato.
IDWriteTextLayout::SetTypography

Imposta le funzionalità di tipografia dei tipi di carattere per il testo all'interno di un intervallo di testo specificato.
IDWriteTextLayout::SetUnderline

Imposta la sottolineatura per il testo all'interno di un intervallo di testo specificato.

Commenti

Per ottenere un riferimento all'interfaccia IDWriteTextLayout , l'applicazione deve chiamare il metodo IDWriteFactory::CreateTextLayout , come illustrato nel codice seguente.


// 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.
        );
}


L'interfaccia IDWriteTextLayout consente all'applicazione di modificare il formato per gli intervalli del testo che rappresenta, specificato da una struttura DWRITE_TEXT_RANGE . Nell'esempio seguente viene illustrato come impostare il peso del carattere per un intervallo di testo.


// 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 fornisce anche metodi per l'aggiunta di oggetti strike-through, sottolineatura e inline al testo.

Per disegnare il blocco di testo rappresentato da un oggetto IDWriteTextLayout , Direct2D fornisce il metodo ID2D1RenderTarget::D rawTextLayout . Per disegnare usando un renderer personalizzato implementa un'interfaccia IDWriteTextRenderer e chiamare il metodo IDWriteTextLayout::D raw

DirectWrite e Direct2D

Per disegnare una stringa formattata rappresentata da un oggetto IDWriteTextLayout , Direct2D fornisce il metodo ID2D1RenderTarget::D rawTextLayout .

Altre opzioni di rendering

Per eseguire il rendering usando un renderer personalizzato, usare il metodo IDWriteTextLayout::D raw , che accetta un'interfaccia di callback derivata da IDWriteTextRenderer come argomento, come illustrato nel codice seguente.

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


IDWriteTextRenderer dichiara metodi per il disegno di un'esecuzione, una sottolineatura, una sottolineatura, un attacco e oggetti inline. L'applicazione deve implementare questi metodi. La creazione di un renderer di testo personalizzato consente all'applicazione di applicare effetti aggiuntivi durante il rendering del testo, ad esempio un riempimento o una struttura personalizzata.

L'uso di un renderer di testo personalizzato consente anche di eseguire il rendering usando un'altra tecnologia, ad esempio GDI.

Requisiti

   
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione dwrite.h

Vedi anche

IDWriteTextFormat