如何在 TOM 中使用选项卡方法

以下示例提供了 C 函数,说明了文本对象模型 (TOM) 中选项卡方法的使用。 假定大多数应用程序都包含一个工具栏,用于显示当前选定段落的当前位置和选项卡类型。

需要了解的事项

技术

先决条件

  • C/C++
  • Windows 用户界面编程

说明

使用选项卡方法

下面的代码示例演示了如何用当前选项卡的详细信息更新工具栏。

HRESULT UpdateToolbar(ITextSelection *pSel)
{
    HRESULT hr       = S_OK;        
    ITextPara *pPara = 0;
    
    float f;
    long tbt;            // tab type
    long tbp;

    hr = pSel->GetPara(&pPara);
    
    if (FAILED(hr))
        goto cleanup;    // Paragraph properties are not supported
    
    f = (float) -1.0;    // Start at beginning
    
    while (pPara->GetTab(tbgoNext, &f, &tbt, NULL) == S_OK)
    {
            // Do something like draw tab icon on toolbar here
            // DrawTabPicture(f, tbt);
    }
    
cleanup:

    if (pPara)
        pPara->Release();
        
    return hr;
    
}

复制选项卡信息

下面的示例显示了如何仅将一个 ITextPara 接口中的选项卡信息复制到另一个接口。 它需要使用两个参数:ITextPara * pParaFrom(要从中复制选项卡的段落)和 ITextPara * pParaFrom(要将选项卡复制到的段落)。

HRESULT CopyOnlyTabs(ITextPara *pParaFrom, ITextPara *pParaTo)
{
    float f;
    short tbt;
    short style;
     
    pParaTo->ClearAllTabs();
    
    f = (float) -1.0;
    
    while (pParaFrom->GetTab(tbgoNext, &f, &tbt, &style) == S_OK)
        pParaTo->AddTab(f, tbt, style);
        
    return S_OK;                
    
}

使用文本对象模型

使用富编辑控件

Windows 通用控件演示 (CppWindowsCommonControls)