Compartilhar via


Como usar métodos de tabulação no TOM

O exemplo a seguir fornece funções C que ilustram o uso dos métodos tab no Text Object Model (TOM). Presume-se que a maioria dos aplicativos inclua uma barra de ferramentas que mostre a posição atual e o tipo das guias para o parágrafo selecionado no momento.

O que você precisa saber

Tecnologias

Pré-requisitos

  • C/C++
  • Programação da interface do usuário do Windows

Instruções

Usar um método Tab

O exemplo de código a seguir demonstra como atualizar uma barra de ferramentas com os detalhes da guia atual.

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;
    
}

Copiar informações da guia

O exemplo a seguir mostra como copiar somente as informações de guia de uma interface ITextPara para outra. Ele usa dois parâmetros: ITextPara pParaFrom (o parágrafo do qual copiar guias) e ITextPara * * pParaFrom (o parágrafo para o qual copiar guias).

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;                
    
}

Usando o modelo de objeto de texto

Usando controles de edição avançada

Demonstração de controles comuns do Windows (CppWindowsCommonControls)