Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Alkalmazások
Szerkesztési környezet létrehozásához egy alkalmazás meghívja ITfDocumentMgr::CreateContext.
Szövegszolgáltatások
A szövegszolgáltatás gyakran az aktuálisan aktív szerkesztési környezetet használja. A jelenleg aktív szerkesztési környezet az aktív dokumentumkezelő verem tetején lévő szerkesztési környezet. A jelenleg aktív környezet beszerzéséhez egy szöveges szolgáltatás meghívja ITfThreadMgr::GetFocus az aktív dokumentumkezelő beszerzéséhez, majd meghívja ITfDocumentMgr::GetTop a szerkesztési környezet lekéréséhez a verem tetején.
Bizonyos esetekben a szövegszolgáltatásnak saját szerkesztési környezetre van szüksége. Szerkesztési környezet létrehozásához egy szövegszolgáltatás meghívja ITfDocumentMgr::CreateContext.
Cookie-k szerkesztése
Számos módszer, például ITfRange::SetText, megköveteli egy szerkesztési környezet azonosítását, amely írásvédett vagy írási dokumentumzárolásirendelkezik. A dokumentumzár a TSF-kezelő és az alkalmazás közötti egyeztetésen keresztül érhető el. A szövegszolgáltatás nem tudja közvetlenül végrehajtani ezt a tárgyalást. A szövegszolgáltatás csak egy adott környezettel rendelkező szerkesztési munkamenet kérésével és írásvédett vagy írásvédett hozzáféréssel szerezheti be a zárolást. Amikor a szerkesztési munkamenet meg van adva, a szövegszolgáltatás egy szerkesztési cookie-val, amely azonosítja a szerkesztési környezetet a kért hozzáféréssel. Ezt a cookie-t ezután a rendszer átadja a metódusnak, hogy a szerkesztési környezetet a megfelelő hozzáféréssel azonosítsa.
ITfDocumentMgr::CreateContext egy szerkesztési cookie-t is biztosít a környezet létrehozójának. Ez a cookie írásvédett hozzáféréssel rendelkezik, és nincs mód a hozzáférési szint módosítására. Valójában a TSF-kezelő nem tárgyal a dokumentumzárolásról ehhez a szerkesztési cookie-hoz. A cookie belsőleg írásvédettként van megjelölve, de a dokumentum valójában nincs zárolva. Ha például a környezet létrehozója meghívja ITfContext::GetSelection a ITfDocumentMgr::CreateContext által visszaadott szerkesztési cookie-val, ez az alkalmazás ITextStoreACP::GetSelection vagy ITextStoreAnchor::GetSelection meghívását eredményezi. A kijelölés beszerzése előtt az alkalmazás megállapítja, hogy létezik-e dokumentumzárolás. Mivel nincs zárolás, az alkalmazás TS_E_NOLOCK sikertelen lesz. Vagyis ha egy alkalmazás olyan metódust hív meg ezzel a cookie-val, amely az alkalmazás egyik szövegtároló metódusának meghívását eredményezi, akkor ezt az esetet belsőleg kell kezelnie, mert az alkalmazásnak valójában nem lesz dokumentumzára.
Ha a környezet létrehozója olvasási/írási hozzáféréssel rendelkező szerkesztési cookie-t igényel, saját szerkesztési munkamenetet kell létrehoznia.
Kapcsolódó témakörök