IRawElementProviderFragment::Navigate メソッド (uiautomationcore.h)

UI オートメーション ツリー内の指定した方向に Microsoft UI オートメーション要素を取得します。

構文

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

パラメーター

direction

[out, retval] pRetVal

種類: IRawElementProviderFragment**

指定した方向の UI オートメーション要素のプロバイダーへのポインターを受け取り、その方向に要素がない場合は NULL を 受け取ります。 このパラメーターは初期化せずに渡されます。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

このメソッドの UI オートメーション サーバーの実装は、UI オートメーション ツリーの構造を定義します。

ナビゲーションは、親に対して上方向、最初の子と最後の子の下方向、および次の兄弟と前の兄弟に対して、必要に応じて横方向にサポートする必要があります。

各子ノードには親が 1 つだけあり、 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 アプリ]
対象プラットフォーム Windows
ヘッダー uiautomationcore.h (UIAutomation.h を含む)

関連項目

IRawElementProviderFragment