다음을 통해 공유


IRawElementProviderFragment::Navigate 메서드(uiautomationcore.h)

UI 자동화 트리 내에서 지정된 방향으로 Microsoft UI Automation 요소를 검색합니다.

구문

HRESULT Navigate(
                NavigateDirection           direction,
  [out, retval] IRawElementProviderFragment **pRetVal
);

매개 변수

direction

[out, retval] pRetVal

형식: IRawElementProviderFragment**

지정된 방향으로 UI 자동화 요소의 공급자에 대한 포인터를 받거나 해당 방향에 요소가 없는 경우 NULL 을 수신합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이 메서드의 UI 자동화 서버 구현은 UI 자동화 트리의 구조를 정의합니다.

탐색은 부모 위로, 첫 번째 및 마지막 자식까지 아래쪽으로, 그리고 해당하는 경우 다음 형제 및 이전 형제에 대해 횡적으로 지원되어야 합니다.

각 자식 노드에는 부모가 하나뿐이며 NavigateDirection_FirstChild 및 NavigateDirection_LastChild 부모로부터 도달한 형제 체인에 배치해야 합니다.

형제 간의 관계는 양방향으로 동일해야 합니다. A가 B의 이전 형제(NavigateDirection_PreviousSibling)인 경우 B는 A의 다음 형제(NavigateDirection_NextSibling)입니다. 첫 번째 자식(NavigateDirection_FirstChild)에는 이전 형제가 없으며 마지막 자식(NavigateDirection_LastChild)에는 다음 형제가 없습니다.

조각 루트는 부모 또는 형제에 대한 탐색을 사용하도록 설정하지 않습니다. 조각 루트 간의 탐색은 기본 창 공급자에 의해 처리됩니다. 조각의 요소는 해당 조각 내의 다른 요소로만 이동해야 합니다.

예제

다음 예제에서는 목록 항목 공급자에 대 한 구현을 보여 있습니다. 목록을 만들 때 부모, 이전 형제 및 다음 형제 공급자에 대한 멤버 변수가 초기화되었습니다.

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;
}              

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 uiautomationcore.h(UIAutomation.h 포함)

추가 정보

IRawElementProviderFragment