A felhasználói felület automatizálásának vezérlési mintáinak áttekintése

A vezérlőminta olyan felületi implementáció, amely egy vezérlő funkcióinak egy bizonyos aspektusát teszi elérhetővé a Microsoft UI Automation-ügyfélalkalmazások számára. Az ügyfelek a vezérlőmintán keresztül közzétett tulajdonságokat és metódusokat használják a vezérlő adott képességével kapcsolatos információk lekérésére, vagy a vezérlő viselkedésének egy adott aspektusának módosítására. Egy táblázatos felületet megjelenítő vezérlő például a Grid vezérlőmintával teszi elérhetővé a táblázat sorainak és oszlopainak számát, és lehetővé teszi, hogy az ügyfél lekérje az elemeket a táblából.

A felhasználói felület automatizálása vezérlőmintákat használ a gyakori vezérlési viselkedések megjelenítéséhez. Használja például a Meghívás vezérlőmintát az olyan meghívható vezérlőkhöz, mint a gombok, valamint a Görgetés vezérlőmintát az olyan görgetősávos vezérlőkhöz, mint a listamezők, listanézetek vagy kombinált listák. Mivel minden vezérlőminta külön funkciót jelöl, a vezérlőminták kombinálhatók az adott vezérlő által támogatott funkciók teljes halmazának leírásához.

Jegyzet

Az összesített vezérlők olyan gyermekvezérlőkkel vannak létrehozva, amelyek biztosítják a felhasználói felületet a szülő által közzétett funkciókhoz, és a szülőnek implementálnia kell az összes olyan vezérlőmintát, amely általában a gyermekvezérlőkhöz van társítva. A gyermekvezérlőknek azonban nem kell ugyanazokat a szabályozási mintákat implementálniuk.

 

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

Felhasználói felület automatizálási vezérlőmintájának összetevői

A vezérlőminták olyan metódusokat, tulajdonságokat, eseményeket és kapcsolatokat támogatnak, amelyek a vezérlőkben elérhető különálló funkciók meghatározásához szükségesek.

  • A metódusok lehetővé teszik, hogy a felhasználói felületi automatizálási ügyfelek manipulálják a vezérlőt.
  • A tulajdonságok és események információt nyújtanak a vezérlő működéséről és állapotáról.
  • A felhasználói felület automation eleme és szülője, gyermekei és testvérei közötti kapcsolat a felhasználói felület Automation fájában található elemstruktúrát írja le.

A vezérlőminták a komponensobjektum-modell (COM) objektumaihoz hasonló vezérlőkhöz kapcsolódnak. A COM-ban lekérdezhet egy objektumot, hogy megkérdezze, milyen felületeket támogat, majd ezeket a felületeket használja a funkciók eléréséhez. A felhasználói felület automatizálásában az ügyfelek megkérdezhetik, hogy melyik vezérlőmintákat támogatja, majd a támogatott vezérlőminták által közzétett tulajdonságok, módszerek, események és struktúrák segítségével kezelhetik a vezérlőt.

Szabályozási minták a szolgáltatókban és az ügyfelekben

A felhasználói felületi automatizálási szolgáltatók vezérlőminta-interfészeket implementálnak, hogy elérhetővé tegyék a vezérlő által támogatott bizonyos funkciók megfelelő viselkedését. Ezek az interfészek nem érhetők el közvetlenül az ügyfelek számára, de a felhasználói felületi automatizálási mag egy másik ügyfélfelület-készlet implementálásához használja őket. Például egy szolgáltató a görgetési funkciót a felhasználói felület automatizálása számára az IScrollProvidersegítségével teszi elérhetővé, és a felhasználói felület automatizálása ugyancsak a IUIAutomationScrollPatternáltal teszi elérhetővé a funkciót az ügyfelek számára.

Dinamikus vezérlési minták

Egyes vezérlők nem mindig támogatják ugyanazt a vezérlőmintát. A többsoros szerkesztési vezérlők például csak akkor engedélyezik a függőleges görgetést, ha több sornyi szöveget tartalmaz, mint amennyi megjeleníthető a megjeleníthető területen. A görgetés le van tiltva, ha elegendő szöveg van eltávolítva, így a görgetés már nem szükséges. Ebben a példában a IUIAutomationScrollPattern dinamikusan támogatott attól függően, hogy mennyi szöveg található a szerkesztési mezőben.

Az alábbi táblázat a felhasználói felület automatizálásának vezérlési mintáit ismerteti. A táblázat felsorolja a vezérlőminták implementálásához használt szolgáltatói felületeket és az azokhoz való hozzáféréshez használt ügyfélfelületeket is.

Név Szolgáltatói felület Ügyféloldali felület Leírás
Megjegyzés IAnnotationProvider IUIAutomationAnnotationPattern A dokumentum széljegyzeteinek tulajdonságainak felfedésére szolgál, például a margón lévő megjegyzésekre, amelyek a dokumentum szövegéhez kapcsolódnak.
Dock IDockProvider IUIAutomationDockPattern Olyan vezérlőkhöz használható, amelyek rögzíthetők egy dokkolótárolóban, például eszköztárakhoz vagy eszközpalettákhoz.
húzás IDragProvider IUIAutomationDragPattern A húzható vezérlők, illetve a húzható elemeket tartalmazó vezérlők támogatására szolgál.
DropTarget IDropTargetProvider IUIAutomationDropTargetPattern Olyan vezérlők támogatására szolgál, amelyek egy húzási művelet célpontja lehetnek.
KibontásÖsszecsukás IExpandCollapseProvider IUIAutomationExpandCollapsePattern Kibontható vagy összecsukható vezérlőkhöz használható, például egy alkalmazás menüelemeihez, például a Fájl menühöz.
Grid IGridProvider IUIAutomationGridPattern Olyan vezérlőkhöz használható, amelyek támogatják a rácsfunkciókat, például egy adott cellára való méretezést és áthelyezést, például a Windows Intézőben a nagy ikonnézetet vagy a Microsoft Office Word egyszerű táblázatait.
GridItem IGridItemProvider IUIAutomationGridItemPattern Olyan vezérlőkhöz használatos, amelyek rácsos elrendezésű cellákat tartalmaznak. Az egyes celláknak támogatniuk kell a GridItem mintát, például a Windows Explorer részletes nézetének minden egyes celláját.
Meghív IInvokeProvider IUIAutomationInvokePattern Meghívható vezérlőkhöz, például gombokhoz használható.
ItemContainer IItemContainerProvider IUIAutomationItemContainerPattern Más elemeket tartalmazó vezérlőkhöz használható.
LegacyIAccessible ILegacyIAccessibleProvider IUIAutomationLegacyIAccessiblePattern A Microsoft Active Accessibility tulajdonságainak és módszereinek a felhasználói felület Automation-ügyfelek számára való megjelenítésére szolgál.
MultipleView IMultipleViewProvider IUIAutomationMultipleViewPattern Olyan vezérlőkhöz használható, amelyek ugyanazon információkészlet, adat vagy gyermek több megjelenítése között válthatnak, például listanézet-vezérlők, ahol az adatok miniatűrök, csempék, ikonok, lista vagy részletnézetekben érhetők el.
Objektummodell IObjectModelProvider IUIAutomationObjectModelPattern Egy dokumentum mögöttes objektummodelljének mutatójának felfedésére szolgál. Ez a vezérlőminta lehetővé teszi az ügyfél számára, hogy a felhasználói felület automation eleméből az alapul szolgáló objektummodellbe navigáljon.
Tartományérték IRangeValueProvider IUIAutomationRangeValuePattern Értéktartományt tartalmazó vezérlőkhöz használatos. Az éveket megjelenítő spinner vezérlőelemek például 1900–2010 tartományt tartalmazhatnak, míg a hónapokat megjelenítő tárcsavezérlők tartománya 1–12 lehet.
görgetés IScrollProvider IUIAutomationScrollPattern Olyan vezérlőkhöz használható, amelyek görgethetők, ha több információ áll rendelkezésre, mint amennyi a vezérlőelem megjeleníthető területén jelenik meg.
ScrollItem IScrollItemProvider IUIAutomationScrollItemPattern Olyan vezérlőkhöz használatos, amelyek egy listában egyes elemeket görgetnek, például egy listavezérlőt egy kombinált lista vezérlőelemben.
Kiválasztás ISelectionProvider IUIAutomationSelectionPattern A tárolóvezérlők kiválasztásához használható, például listamezőkhöz és kombinált listákhoz.
SelectionItem ISelectionItemProvider IUIAutomationSelectionItemPattern A kijelölési tároló vezérlőinek egyes elemeihez, például listamezőkhöz és kombinált listákhoz használható.
számolótábla ISpreadsheetProvider IUIAutomationSpreadsheetPattern Táblázat vagy más rácsalapú dokumentum tartalmának felfedésére szolgál. A vezérlők, amelyek megvalósítják a számolótábla-vezérlési mintát, a rács vezérlőmintát is implementálniuk kell.
TáblázatElem ISpreadsheetItemProvider IUIAutomationSpreadsheetItemPattern Egy cella tulajdonságainak felfedésére szolgál egy számolótáblában vagy más rácsalapú dokumentumban. A SpreadsheetItem vezérlőmintát megvalósító vezérlőknek a GridItem vezérlőmintát is implementálniuk kell.
Stílusok IStylesProvider IUIAutomationStylesPattern Egy adott stílussal, kitöltési színnel, kitöltési mintával vagy alakzattal rendelkező felhasználói felületi elem leírására szolgál.
SzinchronizáltBemenet ISynchronizedInputProvider IUIAutomationSynchronizedInputPattern Billentyűzet- vagy egérbemenetet elfogadó vezérlőkhöz használható.
tábla ITableProvider IUIAutomationTablePattern Rács- és fejlécinformációval rendelkező vezérlőkhöz használható.
TáblázatElem ITableItemProvider IUIAutomationTableItemPattern Tábla elemeihez használatos.
Szöveg ITextProvider IUIAutomationTextPattern Szöveges információkat közzétenő vezérlők és dokumentumok szerkesztésére szolgál.
TextEdit ITextEditProvider IUIAutomationTextEditPattern Olyan vezérlők szerkesztésére szolgál, amelyek programozott módon módosítják a szöveget, például automatikus javítást végző vagy beviteli összetételt lehetővé tevő vezérlőkhöz.
TextChild ITextChildProvider IUIAutomationTextChildPattern Egy elem legközelebbi ősének elérésére szolgál, amely támogatja a Szöveg vezérlési mintát.
TextRange ITextRangeProvider IUIAutomationTextRange Szöveges tartalom, szövegattribútumok és beágyazott objektumok szövegalapú vezérlőkből, például szerkesztési vezérlőkből és dokumentumokból való lekérésére szolgál.
Átkapcsolás IToggleProvider IUIAutomationTogglePattern Olyan vezérlőkhöz használható, ahol az állapot váltható, például jelölőnégyzetek és ellenőrizhető menüelemek.
Átalakítás ITransformProvider IUIAutomationTransformPattern Átméretezhető, áthelyezhető és elforgatható vezérlőkhöz használható. Az átalakítás-vezérlési minta tipikus felhasználási területei a tervezők, űrlapok, grafikus szerkesztők és rajzalkalmazások.
Érték IValueProvider IUIAutomationValuePattern Olyan vezérlőkhöz használatos, amelyek értéke nem egy megadott tartományon belül található, például dátum-időválasztó.
VirtualizáltElem IVirtualizedItemProvider IUIAutomationVirtualizedItemPattern Olyan vezérlőkhöz használható, amelyek egy virtuális listában lévő elemekkel működnek.
Ablak IWindowProvider IUIAutomationWindowPattern Windowshoz használatos. Ilyenek például a felső szintű alkalmazásablakok, a többdokumentumos felület (MDI) gyermekablakai és a párbeszédpanelek.

 

Fogalmi

felhasználói felület automatizálási szabályozási mintáinak implementálása

Vezérlési minta leképezése a felhasználói felület automatizálási kliensek számára