Compartir a través de


Cómo usar métodos de tabulación en TOM

En el ejemplo siguiente se proporcionan funciones de C que ilustran el uso de los métodos de tabulación en el Modelo de objetos de texto (TOM). Se supone que la mayoría de las aplicaciones incluyen una barra de herramientas que muestra la posición actual y el tipo de las pestañas del párrafo seleccionado actualmente.

Lo que necesita saber

Tecnologías

Prerrequisitos

  • C/C++
  • Programación de la interfaz de usuario de Windows

Instrucciones

Usar un método Tab

En el ejemplo de código siguiente se muestra cómo actualizar una barra de herramientas con los detalles de la pestaña actual.

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 información de pestañas

En el ejemplo siguiente se muestra cómo copiar solo la información de tabulación de una interfaz ITextPara a otra. Toma dos parámetros: ITextPara * pParaFrom (el párrafo desde el que copiar pestañas) e ITextPara * pParaFrom (el párrafo al que se van a copiar pestañas).

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

Uso del modelo de objetos de texto

Usar controles de edición enriquecida

Demostración de controles comunes de Windows (CppWindowsCommonControls)