Share via


Verwenden eines Schriftartduplikats

In diesem Abschnitt wird erläutert, wie Sie ein Schriftartduplikat verwenden, um eine Reihe von Änderungen auf einen Textbereich auf einmal anzuwenden.

Wichtige Informationen

Technologien

Voraussetzungen

  • C/C++
  • Programmierung der Windows-Benutzeroberfläche

Anweisungen

Verwenden eines Schriftartduplikats

Das folgende Beispiel zeigt, wie ein Schriftartduplikat verwendet werden kann, um eine Reihe von Änderungen auf einen Bereich gleichzeitig anzuwenden.

void ChangeFontNameSizeBold(ITextSelection *pSel)
{
    ITextFont *pFontSel      = NULL
    ITextFont *FontDuplicate = NULL;
    
    // Get ITextFont version of non-duplicated font.
    if (FAILED(pSel->GetFont( &pFontSel))
        return;

    // Duplicate the font.
    pFontSel->GetValue(&pFontDuplicate);
    pFontSel->Release();
    
    if(!pFontDuplicate)
        return;

   // Changes here happen only to the underlying data structure, 
   // such as a CHARFORMAT, in the duplicate - NOT to the actual story text.

    BSTR bstrTemp = UnicodeBstrFromAnsi("Times New Roman");   // Font name
    
    pFontDuplicate->SetName(bstrTemp);
    SysFreeString(bstrTemp);
    
    pFontDuplicate->SetBold(tomTrue);                        // Bold
    pFontDuplicate->SetSize(10.5);                           // 10.5 point font.
    pFontDuplicate->SetAnimation(tomBlackMarchingAnts);

    // Apply the change to text as one change: one screen update, one undo. 
    // You can also apply the font object to different ranges before you free it.
    
    pSel->SetFont(pFontDuplicate);
    
    pFontDuplicate->Release();
    
}

Verwenden des Textobjektmodells

Verwenden von Rich Edit-Steuerelementen

Demo zu allgemeinen Windows-Steuerelementen (CppWindowsCommonControls)