Megosztás a következőn keresztül:


Szöveg és textRange vezérlőminták

Az ITextProvider, ITextProvider2és ITextRangeProviderimplementálásának irányelveit és konvencióit ismerteti, beleértve a tulajdonságokra és metódusokra vonatkozó információkat. A Szöveg vezérlőminta lehetővé teszi, hogy az alkalmazások és vezérlők egyszerű szöveges objektummodellt tegyenek elérhetővé, így az ügyfelek szöveges tartalmakat, szöveges attribútumokat és beágyazott objektumokat kérdezhetnek le szövegalapú vezérlőkből.

A Szöveg vezérlőminta támogatásához a vezérlők implementálják a ITextProvider és ITextProvider2 interfészeket. A Szöveg vezérlőmintát támogató vezérlőtípusok közé tartoznak a Szerkesztés és Dokumentum vezérlőtípusok, valamint minden más vezérlőtípus, amely lehetővé teszi a felhasználó számára, hogy szöveget írjon be vagy csak olvasható szöveget válasszon.

A Szöveg vezérlőminta más Microsoft UI Automation-vezérlőmintákkal is használható a szövegbe ágyazott objektumok számos típusának támogatásához, beleértve a táblákat, hivatkozásokat és parancsgombokat.

Az ITextProvider és ITextProvider2 interfészek számos módszert tartalmaznak a szövegtartományok beszerzéséhez. A szövegtartomány egy olyan objektum, amely a szövegtárolóban lévő szöveg egybefüggő , vagy több, egymástól különálló tartományát jelöli. Az egyik ITextProvider metódus olyan szövegtartományt szerez be, amely a teljes dokumentumot jelöli, míg mások olyan szövegtartományokat szereznek be, amelyek a dokumentum egy részét jelölik, például a kijelölt szöveget, a látható szöveget vagy a szövegbe ágyazott objektumot.

A szövegtartomány-objektumokat a TextRange vezérlőminta jelöli, amelyet az ITextRangeProvider felületen valósít meg. A TextRange vezérlőminta olyan módszereket és tulajdonságokat biztosít, amelyek a tartomány szövegével kapcsolatos információk megjelenítésére, a tartomány végpontjainak áthelyezésére, a szöveg kijelölésére vagy kijelölésének megszüntetésére, a tartomány nézetbe görgetésére stb. szolgálnak.

A Szöveges és TextRange vezérlőmintákról további információt a Felhasználói felület automatizálásának támogatása a szöveges tartalomcímű cikkben talál.

A Windows 8.1-szolgáltatóktól kezdve implementálhatják az ITextRangeProvider2 felületet. Ez lehetővé teszi a szövegtartományhoz társított helyi menük meghívását. Ez olyan forgatókönyveket támogat, mint például a szöveg automatikus javítása vagy a Beviteli módszerszerkesztő (IME) jelöltjeinek kiválasztása.

Ez a témakör a következő szakaszokat tartalmazza.

Végrehajtási irányelvek és egyezmények

A Szöveg vezérlőminta megvalósításakor vegye figyelembe az alábbi irányelveket és konvenciókat:

  • Minden olyan vezérlőnek, amely lehetővé teszi a szöveghez való hozzáférést (például szöveg beírása vagy írásvédett szöveg kijelölése) támogatnia kell a Szöveg vezérlőmintát.
  • A Szöveg vezérlőminta bármilyen olyan felhasználói felületi elemhez használható, amely szöveget jelenít meg, akár statikus címkét is egy szabványos gombvezérlőn. Ez azonban nem kötelező olyan statikus szövegvezérlők esetében, amelyek nem jelölhetők ki, vagy nem rendelkeznek beszúrási ponttal.
  • Annak érdekében, hogy a szöveg teljes mértékben elérhető legyen, az ITextProvider implementáló vezérlőknek támogatniuk kell az IValueProvider felületet is. IValueProvider kiegészíti ITextProvider azáltal, hogy programozott módon módosítja a szöveget. Emellett nagyobb kompatibilitást biztosít a kisegítő technológiai ügyfélalkalmazásokkal, beleértve az örökölt technológiákon, például a Microsoft Active Accessibilityen alapuló alkalmazásokat is. Mindkét vezérlőminta implementálásakor a TextChanged esemény (UIA_Text_TextChangedEventId) és AutomationPropertyChanged esemény (UIA_AutomationPropertyChangedEventId) egyenértékű az Value tulajdonság (UIA_ValueValuePropertyId) értékével. Mindkét eseményt támogatni kell.
  • A Szöveg vezérlőminta vezérlőelemenként csak egy szövegfolyamot és egy nézetportot támogat. Ha az alkalmazás több nézetet is kínál a dokumentumról a paneleken, minden nézetnek (vezérlőnek) támogatnia kell ITextProvider függetlenül.
  • A ITextProvider::GetSelection metódus egyetlen, az aktuálisan kijelölt szöveget képviselő szövegtartományt adhat vissza. Ha egy vezérlőelem támogatja több, nem egyértelmű szövegtartomány kijelölését, a GetSelection metódusnak olyan tömböt kell visszaadnia, amely egy ITextRangeProvider felületet tartalmaz az egyes kijelölt szövegtartományokhoz.
  • A Szöveg vezérlőminta degenerált (üres) szövegtartományként jelöli a beszúrási pontot. A ITextProvider::GetSelection metódusnak degenerált szövegtartományt kell visszaadnia, ha a beszúrási pont létezik, és nincs kijelölve szöveg. További információ: A System Caretegyüttműködése.
  • A ITextProvider::GetVisibleRanges metódus egyetlen szövegtartományt ad vissza, ha egy összefüggő szövegtartomány látható a nézetablakban, vagy ha több, részben látható szövegsort képviselő különálló szövegtartományokat ad vissza.
  • A ITextProvider::RangeFromChild metódusnak degenerált tartományt kell visszaadnia, ha a gyermekelem nem tartalmaz szöveget. Mivel egy beágyazott objektum tartalmazhat szöveget, előfordulhat, hogy a RangeFromChild metódus nem mindig ad vissza degenerált szövegtartományt. További információ: A felhasználói felület automatizálása beágyazott objektumok.
  • A ITextProvider::RangeFromPoint metódus a megadott képernyőkoordináta használatával végez találattesztelést a dokumentumterületen. Az eredményként kapott szövegtartománynak konzisztensnek kell lennie a beszúrási ponttal vagy kijelöléssel, amely a megadott képernyőkoordináta helyére való kattintásból ered. Ha például egy kép a megadott képernyőkoordinátákon található, az eredményül kapott szövegtartománynak meg kell egyeznie azzal a szövegtartománysal, amelyet a ITextProvider::RangeFromChild metódus beolvas a képhez. Hasonlóképpen, ha egy ügyfélalkalmazás szöveges tartományt kér a rendszer gondozásának középpontjához (a beszúrási ponthoz), az eredményül kapott szövegtartománynak meg kell egyeznie a rendszer gondozási helyével.
  • Az ITextProvider::D ocumentRange tulajdonságnak mindig olyan szövegtartományt kell biztosítania, amely tartalmazza a megfelelő ITextProvider implementáció által támogatott összes szöveget.
  • A UIA_Text_TextChangedEventId eseményt akkor is fel kell emelni, ha bármilyen szövegmódosítás történt, még akkor is, ha a módosítás nem látható a nézetablakban. A szolgáltatónak például akkor is elő kell emelnie az eseményt, ha a felhasználó pontosan ugyanazt a szöveget illessze be a kijelölt szövegre.
  • A UIA_Text_TextSelectionChangedEventId mindig fel kell emelni, amikor a szöveg kijelölése megváltozik, vagy amikor a beszúrási pont (simítás) a szöveg között mozog.

A TextRange vezérlőminta megvalósításakor vegye figyelembe az alábbi irányelveket és konvenciókat:

  • A TextRange vezérlőmintájának minden metódusának szövegműveleteket kell végrehajtania a szöveg láthatósági állapotától függetlenül. A szövegtartományok láthatóságát mindig az IsHidden szöveges attribútum (UIA_IsHiddenAttributeId) lekérdezésével lehet meghatározni.
  • Ha lehetséges, a szolgáltatónak biztosítania kell, hogy a szöveg módosításai, például a törlések, a beszúrások és az áthelyezések megjelenjenek a társított szövegtartomány-objektumokban (ITextRangeProvider felület példányai), és UIA_Text_TextChangedEventId eseményt emeljenek ki. Az ügyfelek tippként használhatják az eseményt a vezérlő szövegében végrehajtott szerkesztési módosítások megerősítéséhez.
  • Az ITextRangeProvider::Compare, CompareEndpointsés MoveEndpointByRange metódusoknak azonos Szöveg vezérlőminta implementációjának kell lenniük.
  • Bár nem kötelező, a ITextRangeProvider::CompareEndpoints metódus által lekért pRetVal érték jelezheti a két végpont közötti távolságot karakterekben (TextUnit_Character). Az ügyfélalkalmazások azonban nem függenek az pRetVal pontosságától a pozitív vagy negatív értéken túl.
  • A ITextRangeProvider::ExpandToEnclosingUnit, Moveés MoveEndpointByUnit metódusok gondos megfontolást igényelnek a megadott szövegegységre. További információt a TextRange szövegegység szerinti manipulálása című témakörben talál.
  • A ITextRangeProvider::Select, AddToSelectionés RemoveFromSelection metódusokkal kapcsolatos megvalósítási követelményekért lásd: Szöveg kijelölése szövegtartományban.
  • Az ITextRangeProvider::FindText és FindAttribute metódusok egyetlen egyező szöveges sztringre vagy szövegattribútumra keresnek előre vagy hátra. Ha nem talál egyezést, akkor NULL kell visszaadniuk.
  • A ITextRangeProvider::GetAttributeValue metódusnak a UiaGetReservedMixedAttributeValue vagy UiaGetReservedNotSupportedValue függvénytől kapott címet kell visszaadnia, ha a társított attribútum a tartományban eltérő, vagy ha az attribútumot a szövegvezérlő nem támogatja. A TextRange vezérlőminta-specifikáció nem teszi lehetővé új szövegattribútum-azonosítók hozzáadását vagy a meglévő attribútumok definiálási módjának módosítását.
  • Ha lehetséges, a ITextRangeProvider::GetBoundingRectangles metódusnak egy olyan tömböt kell visszaadnia, amely egy határoló téglalapot tartalmaz a teljes vagy részben látható szövegsorhoz egy szövegtartományban. Ha ez nem lehetséges, a szolgáltató olyan tömböt adhat vissza, amely csak a teljesen látható vonalak határoló téglalapjait tartalmazza; Ez azonban korlátozza az ügyfélalkalmazás azon képességét, hogy pontosan leírja, hogyan jelenik meg a szöveg a képernyőn.
  • A ITextRangeProvider::GetChildren metódusnak a szövegtartományba beágyazott összes gyermekelemet vissza kell adnia, de a gyermekelemek egyik gyermekét sem kell visszaadnia. Ha például egy szövegtartomány olyan táblázatot tartalmaz, amely több gyermekcellával rendelkezik, a GetChildren metódus csak a táblázatelemet, nem pedig a cellaelemeket adja vissza. Teljesítmény- vagy architekturális okokból előfordulhat, hogy a szolgáltató nem tudja elérhetővé tenni az automatizálási fában található dokumentumokban tárolt összes beágyazott objektumot. Ebben az esetben a szolgáltatónak legalább támogatnia kell a gyermekobjektumok számbavételét a GetChildren metódussal, és lehetőség szerint támogatnia kell a virtualizálási támogatás VirtualizedItem vezérlőmintát.
  • A ITextRangeProvider::GetEnclosingElement metódus általában a szövegtartományt biztosító szövegszolgáltatót adja vissza. Ha azonban a szövegszolgáltató támogatja a gyermekobjektumokat, például táblákat vagy hivatkozásokat, a beágyazó elem a szövegszolgáltató leszármazottja lehet. Az GetEnclosingElement által visszaadott elemnek az adott szövegtartományhoz legközelebbi elemnek kell lennie. Ha például a szövegtartomány egy táblázat egy cellájában van, GetEnclosingElement a táblázatelem helyett az azt tartalmazó cellát kell visszaadnia.
  • A ITextRangeProvider::GetText metódusnak a tartomány egyszerű szövegét kell visszaadnia. További információ: Szöveg beszerzése szövegtartományból.
  • ITextRangeProvider::ScrollIntoView az alignToTop paraméter által megadott szövegvezérlő nézetablakában kell igazítania a szöveget. Bár a vízszintes igazítás szempontjából nincs követelmény, a szövegtartománynak vízszintesen és függőlegesen is láthatónak kell lennie. Az alignToTop paraméter kiértékelésekor a szolgáltatónak figyelembe kell vennie a szövegvezérlő tájolását és a szöveg folyamatirányát. Ha például alignToTopIGAZ a jobbról balra haladó szöveget tartalmazó függőlegesen orientált szövegvezérlőhöz, a szolgáltatónak a szövegtartományt a nézet jobb oldalához kell igazítania.
  • Ha TextUnit_Linelép át egy dokumentumon, ha a szövegtartomány beágyazott táblázatba kerül, a cellában lévő összes szövegsort sorként kell kezelni.

Az ITextProvider szükséges tagjai

A ITextProvider felület implementálásához a következő tulajdonságokra és módszerekre van szükség.

Szükséges tagok Tagtípus Notes
DocumentRange Ingatlan Egyik sem
SupportedTextSelection Ingatlan Egyik sem
GetSelection Módszer Egyik sem
GetVisibleRanges Módszer Egyik sem
RangeFromChild Módszer Egyik sem
RangeFromPoint Módszer Egyik sem
UIA_Text_TextChangedEventId Esemény Egyik sem
UIA_Text_TextSelectionChangedEventId Esemény Egyik sem

 

A ITextProvider2 interfész implementálásához a következő további tulajdonságokra és módszerekre van szükség.

Szükséges tagok Tagtípus Notes
GetCaretRange Módszer Egyik sem
RangeFromAnnotation Módszer Egyik sem

 

Az ITextRangeProvider szükséges tagjai

A ITextRangeProvider felület implementálásához a következő tulajdonságokra és módszerekre van szükség.

Szükséges tagok Tagtípus Notes
AddToSelection Módszer Egyik sem
klónozási Módszer Egyik sem
összehasonlítása Módszer Egyik sem
CompareEndpoints Módszer Egyik sem
ExpandToEnclosingUnit Módszer Egyik sem
FindAttribute Módszer Egyik sem
Szövegkereső Módszer Egyik sem
GetAttributeValue Módszer Egyik sem
GetBoundingRectangles Módszer Egyik sem
GetChildren Módszer Egyik sem
GetEnclosingElement Módszer Egyik sem
GetText Módszer Egyik sem
áthelyezési Módszer Egyik sem
MoveEndpointByUnit Módszer Egyik sem
MoveEndpointByRange Módszer Egyik sem
kiválasztása Módszer Egyik sem
ScrollIntoView Módszer Egyik sem

 

A ITextRangeProvider2 felület implementálásához az alábbi további tulajdonságokra és metódusokra van szükség.

Szükséges tagok Tagtípus Notes
ShowContextMenu Módszer Lásd: "Implementing ShowContextMenu" szakasz

 

A TextRange vezérlőminta nem rendelkezik társított eseményekkel.

Támogató szövegtartományok

Ez a szakasz azt ismerteti, hogy a szolgáltatónak hogyan kell implementálnia az ITextRangeProvider és ITextRangeProvider2 interfészek különböző módszereit a TextRange vezérlőminta támogatásához.

Szövegtartományok manipulálása szövegegység szerint

Az ITextRangeProvider felület számos módszert kínál a szövegtartományok szövegalapú vezérlőkben való manipulálására és navigálására. Az ITextRangeProvider::Move, MoveEndpointByUnit, és ExpandToEnclosingUnit metódusok a megadott szövegegység (például karakter, szó, bekezdés stb.) szerint áthelyeznek egy szövegtartományt vagy annak egyik végpontját. További információ: felhasználói felület automation szövegegységei.

A neve ellenére az ITextRangeProvider::ExpandToEnclosingUnit metódus nem feltétlenül bont ki egy szövegtartományt. Ehelyett a végpontok áthelyezésével "normalizál" egy szövegtartományt, hogy a tartomány a megadott szövegegységet foglalja magában. A tartomány akkor lesz kibontva, ha kisebb, mint a megadott egység, vagy ha hosszabb, mint a megadott egység. Kritikus fontosságú, hogy a ExpandToEnclosingUnit metódus mindig konzisztens módon normalizálja a szövegtartományokat; ellenkező esetben a szövegegységek által történő szövegtartomány-kezelés egyéb aspektusai kiszámíthatatlanok lennének. Az alábbi diagram azt mutatja be, hogy ExpandToEnclosingUnit hogyan normalizál egy szövegtartományt a tartomány végpontjainak áthelyezésével.

diagram, amely a szövegtartomány végponthelyeit mutatja az expandtoenclosingunit-hívás előtt és után

Ha a szövegtartomány egy szövegegység elején kezdődik, és a következő szövegegység-határ elején vagy előtt ér véget, a végpont a következő szövegegység-határvonalra kerül (lásd az előző diagram 1. és 2. pontját).

Ha a szövegtartomány egy szövegegység elején kezdődik, és a következő egységhatárnál vagy az után ér véget, a végpont a kezdő végpont után is megmarad vagy visszafelé kerül a következő egységhatárra (lásd az előző ábrán a 3. és a 4. ábrát). Ha több szöveges egység határa van a kezdő és a záró végpont között, a végpont visszakerül a következő egységhatárra a kezdő végpont után, ami egy szöveges egység hosszúságú szövegtartományt eredményez.

Ha a szövegtartomány a szövegegység közepén kezdődik, a kezdő végpont visszafelé kerül a szövegegység elejére, és a végpont szükség szerint előre vagy hátra kerül a kezdő végpont utáni következő egységhatárra (lásd az előző diagram 5–8. pontját).

Az ITextRangeProvider::Move metódus meghívásakor a szolgáltató a megadott szövegegység szerint normalizálja a szövegtartományt ugyanazzal a normalizálási logikával, mint a ExpandToEnclosingUnit metódus. Ezután a szolgáltató a tartományt a megadott számú szöveges egység alapján viszi előre vagy hátra. A tartomány áthelyezésekor a szolgáltatónak figyelmen kívül kell hagynia a szövegben lévő beágyazott objektumok határait. (Az egységhatárt azonban befolyásolhatja egy beágyazott objektum megléte). Az alábbi diagram bemutatja, hogy az Áthelyezés metódus hogyan helyez át egy szövegtartományt, egység szerint a beágyazott objektumok és a szövegegységek határai között.

diagram, amely bemutatja, hogy az áthelyezési módszer hogyan helyezi át a tartományvégpontokat az objektum- és szövegegység-határok között

Az ITextRangeProvider::MoveEndpointByUnit metódus előre vagy hátra helyezi az egyik végpontot a megadott szöveges egység szerint, ahogyan az alábbi ábrán látható.

diagram, amely bemutatja, hogyan helyezi át a moveendpointbyunit egy tartomány végpontját

Az ITextRangeProvider::MoveEndpointByRange metódus lehetővé teszi, hogy az ügyfélalkalmazás egy szövegtartomány egyik végpontját a második szövegtartomány megadott végpontjához hasonló helyre állítsa.

Szöveg kijelölése szövegtartományban

Az ITextRangeProvider felület számos módszert tartalmaz a szövegalapú vezérlőelemek szövegkijelölésének szabályozására.

A ITextRangeProvider::Select metódusnak ki kell jelölnie a szövegtartománynak megfelelő szöveget, és el kell távolítania az előző kijelölést ( ha van ilyen ) a szövegvezérlőből. Ha kijelölése degenerált szövegtartományra van meghívva, a szolgáltatónak szöveg kijelölése nélkül kell áthelyeznie a beszúrási pontot a szövegtartomány helyére.

Ha egy vezérlőelem támogatja a több különálló szövegtartomány kijelölését, az ITextRangeProvider::AddToSelection és RemoveFromSelection metódusok szövegtartományokat adnak hozzá a kijelölt szövegtartományok gyűjteményéhez, és eltávolítják őket. Ha a vezérlőelem egyszerre csak egy kijelölt szövegtartományt támogat, de a kijelölési művelet több különálló szövegtartomány kijelölését eredményezné, a szolgáltatónak E_INVALIDOPERATION hibát kell visszaadnia, vagy ki kell terjesztenie vagy csonkítania kell az aktuális kijelölést. A ITextProvider::SupportedTextSelection tulajdonságnak azt kell jeleznie, hogy egy vezérlőelem támogatja-e az egy vagy több sornyi szöveg kijelölését, vagy egyáltalán nem.

Ha egy szövegalapú vezérlőelem támogatja a szövegbeszúrásokat, hívja meg ITextRangeProvider::AddToSelection vagy RemoveFromSelection egy degenerált szövegtartományon a vezérlőben, helyezze át a beszúrási pontot, de ne jelöljön ki szöveget.

Szöveg beolvasása szövegtartományból

A ITextRangeProvider::GetText metódusnak egy szövegtartomány egyszerű szövegét kell visszaadnia. Az egyszerű szövegnek tartalmaznia kell a forrásszövegben található összes vezérlőkarakterek, például a kocsivisszajelzések és a Unicode balról jobbra jelét (LRM). Az egyszerű szöveg nem tartalmazhat olyan korrektúracímkéket, mint például a HTML, amely szerepelhet a forrásszövegben. Emellett a forrásszövegben lévő feloldókódokat egyszerű szöveges megfelelőkké kell konvertálni. A "" karaktert például egyszerű szóköz karakterré kell alakítani.

Ha egy beágyazott objektum egy szövegtartományra terjed ki, az egyszerű szövegnek tartalmaznia kell az objektum belső szövegét, de a helyettesítő szöveget (a beágyazott objektum névtulajdonságát) nem, mert az inkonzisztens lehet a leíró belső szöveggel. További információ: A felhasználói felület automatizálása beágyazott objektumok.

A ShowContextMenu implementálása

ITextRangeProvider2::ShowContextMenu mindig a helyi menüt kell megjelenítenie a tartomány elején. Ennek egyenértékűnek kell lennie azzal, ami akkor történne, ha a felhasználó lenyomta a helyi menükulcsot vagy a SHIFT + F10 billentyűkombinációt a tartomány elején lévő beszúrási ponttal.

Ha a helyi menü megjelenítése általában azt eredményezné, hogy a beszúrási pont egy adott helyre kerül, akkor programozott módon kell invokálnia ShowContextMenu a felhasználói felület automatizálásának támogatásához is.

Együttműködés a System Carettel

A beszúrási pont megfelelő támogatása számos ügyfélalkalmazás számára kritikus fontosságú, beleértve a felhasználói felület automatizálásán alapuló alkalmazásokat is. A Szöveg vezérlőmintában a beszúrási pontot egy degenerált (üres) szövegtartomány jelöli a rendszer simításának helyén. A beszúrási pont áthelyezésekor egy vezérlőnek meg kell emelnie a TextSelectionChanged eseményt (UIA_Text_TextSelectionChangedEventId). Egyes ügyfélalkalmazások az eseménytől függenek a beszúrási pont helyének figyeléséhez és a szöveg kiválasztásának nyomon követéséhez.

Ha egy vezérlőelem kijelölt szöveget tartalmaz, a Szöveg vezérlőminta jelenlegi kialakítása nem biztosít módot a beszúrási pont helyének egy adott szövegtartományhoz való közvetlen társítására. A szolgáltatónak nyomon kell követnie a szövegkijelölést, és megfelelően kell beállítania a beszúrási pont helyét. Mivel a szöveg kijelölése általában úgy történik, hogy áthelyezi a beszúrási pontot a SHIFT vagy a CTRL billentyű lenyomásával, vagy mindkettővel, a szolgáltató nyomon követheti a szövegkijelölést a kulcsok állapotának ellenőrzésével, amikor a kijelölés megváltozik.

Mivel az akadálymentességi keretrendszer beépített támogatást nyújt a rendszer ápoltjának, de egyéni gondozáshoz nem, a szövegalapú vezérlőknek lehetőség szerint a rendszerápolást kell használniuk. Az egyéni gondviselőt használó vezérlők biztosíthatják, hogy a gondozás elérhető legyen egy olyan rendszerápolás létrehozásával, amelynek mérete megegyezik az egyéni ápolt méretével, és a rendszer gondozását a vezérlő felhasználói felületén , vagyis a beszúrási ponton helyezi el. Alternatív megoldásként az egyéni gondviselési funkciót használó vezérlők implementálhatnak egy Microsoft Active Accessibility-szolgáltatót OBJID_CARET az akadálymentességi információk közvetlen biztosítása érdekében az egyéni gondviselet számára.

További információ a rendszerápolásról: Carets.

Annak ellenőrzéséhez, hogy a vezérlő megfelelően teszi-e elérhetővé a rendszer gondviselőjének helyét, használja a és Akadálymentes eseményfigyelő eszközöket.

A rendszerszintű bitkép középpontjának képernyőkoordinátáinak mindig meg kell egyeznie a beszúrási pont helyével. Így az ügyfél az ITextProvider::RangeFromPointhívásban a simítóképernyő koordinátáit használhatja a beszúrási pont helyét pontosan képviselő szövegtartomány lekéréséhez.

vezérlőtípusok és azok támogatott vezérlőmintái

szövegvezérlő típusa

Szövegszerkesztési minta

TextChild vezérlőminta

felhasználói felület automatizálási szabályozási mintáinak áttekintése

felhasználói felület automatizálásának támogatása szöveges tartalom

felhasználói felület automatizálási fájának áttekintése