A tabulátor metódusok használata a TOM rendszerben
Az alábbi példa C függvényeket tartalmaz, amelyek bemutatják a tabulátormetódusok használatát a Szövegobjektum-modellben (TOM). Feltételezzük, hogy a legtöbb alkalmazás tartalmaz egy eszköztárat, amely a jelenleg kijelölt bekezdés lapjainak aktuális pozícióját és típusát jeleníti meg.
Amit tudnia kell
Technológiák
Előfeltételek
- C/C++
- Windows felhasználói felület programozása
Előírás
Tab metódus használata
Az alábbi példakód bemutatja, hogyan frissíthet egy eszköztárat az aktuális lap részleteivel.
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;
}
Tabulátor adatainak másolása
Az alábbi példa bemutatja, hogyan másolhatja csak a lapinformációkat az egyik ITextPara felületről egy másikba. Két paramétert használ: ITextPara * pParaFrom (az a bekezdés, amelyből lapokat szeretne másolni) és ITextPara * pParaFrom (a lapokat másolni kívánt bekezdés).
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;
}
Kapcsolódó témakörök