次の方法で共有


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

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

構文

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

パラメーター

[in] direction

型: NavigateDirection

移動する方向。

[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 アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー uiautomationcore.h (UIAutomation.h を含む)

関連項目

IRawElementProviderFragment の