Verwenden von Tabstoppmethoden in TOM
Im folgenden Beispiel werden C-Funktionen bereitgestellt, die die Verwendung der Tabstoppmethoden im Text Object Model (TOM) veranschaulichen. Es wird davon ausgegangen, dass die meisten Anwendungen eine Symbolleiste enthalten, die die aktuelle Position und den Typ der Registerkarten für den aktuell ausgewählten Absatz anzeigt.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Verwenden einer Tab-Methode
Im folgenden Codebeispiel wird veranschaulicht, wie eine Symbolleiste mit den aktuellen Registerkartendetails aktualisiert wird.
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;
}
Registerkarteninformationen kopieren
Im folgenden Beispiel wird gezeigt, wie nur die Registerkarteninformationen von einer ITextPara-Schnittstelle in eine andere kopiert werden. Es werden zwei Parameter verwendet: ITextPara * pParaFrom (der Absatz, aus dem Registerkarten kopiert werden sollen) und ITextPara * pParaFrom (der Absatz, in den Registerkarten kopiert werden sollen).
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;
}
Zugehörige Themen