如何使用字体重复
本节将介绍如何使用字体复制来对文本范围一次性进行多项更改。
需要了解的事项
技术
先决条件
- C/C++
- Windows 用户界面编程
说明
使用字体重复
以下示例展示了如何使用字体复制一次对一个范围应用多项更改。
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();
}
相关主题