Использование методов tab в TOM
В следующем примере представлены функции C, иллюстрирующие использование методов табуляции в текстовой объектной модели (TOM). Предполагается, что большинство приложений включают панель инструментов, отображающую текущее положение и тип вкладок для выбранного абзаца.
Это важно знать
Технологии
Необходимые компоненты
- C/C++
- Программирование пользовательского интерфейса Windows
Instructions
Использование метода TAB
В следующем примере кода показано, как обновить панель инструментов с текущими сведениями о вкладке.
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;
}
См. также