Включение навигации в поставщике фрагментов модель автоматизации пользовательского интерфейса
В этом разделе содержится пример кода, в котором показано, как включить навигацию в поставщике Microsoft модель автоматизации пользовательского интерфейса для элемента во фрагменте.
В следующем примере кода реализуется метод IRawElementProviderFragment::Navigate для элемента списка в пользовательском элементе управления списком. Родительский элемент — это пользовательский элемент управления списком, а одноуровневые элементы являются другими элементами в списке. Метод задает для параметра pRetValзначение NULL , если в указанном направлении нет элемента.
// Implementation of IRawElementProviderFragment::Navigate.
// Enables UI Automation to locate the element in the tree.
HRESULT STDMETHODCALLTYPE ListItemProvider::Navigate(NavigateDirection direction, IRawElementProviderFragment ** pRetVal)
{
if (pRetVal == NULL)
{
return E_INVALIDARG;
}
IRawElementProviderFragment* pFrag = NULL;
switch(direction)
{
case NavigateDirection_Parent:
pFrag = (IRawElementProviderFragment*) m_parentProvider;
break;
case NavigateDirection_NextSibling:
pFrag = (IRawElementProviderFragment*) m_nextSiblingProvider;
break;
case NavigateDirection_PreviousSibling:
pFrag = (IRawElementProviderFragment*) m_previousSiblingProvider;
break;
}
*pRetVal = pFrag;
if (pFrag != NULL)
{
pFrag->AddRef();
}
return S_OK;
}
Связанные темы
-
Основные понятия
-
Реализация поставщика Server-Side модель автоматизации пользовательского интерфейса
-
Практические руководства для поставщиков модель автоматизации пользовательского интерфейса
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по