共用方式為


IRawElementProviderFragment::Navigate 方法 (uiautomationcore.h)

擷取使用者介面自動化樹狀結構中指定方向的 Microsoft UI Automation 元素。

語法

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

參數

[in] direction

類型:NavigateDirection

要巡覽的方向。

[out, retval] pRetVal

類型:IRawElementProviderFragment**

接收指定方向之 UI Automation 元素提供者的指標,或如果沒有該方向的專案,則 NULL。 這個參數會未初始化傳遞。

傳回值

類型:HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

言論

這個方法的UI自動化伺服器實作會定義UI自動化樹狀結構。

瀏覽必須向上支援至父系、向下至第一個和最後一個子系,以及橫向到下一個和上一個同層級,視需要。

每個子節點只有一個父節點,而且必須放置在從父系到達的同層級鏈結中,NavigateDirection_FirstChildNavigateDirection_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 應用程式]
目標平臺 窗戶
標頭 uiautomationcore.h (包括 UIAutomation.h)

另請參閱

IRawElementProviderFragment