次の方法で共有


UI オートメーション フラグメント プロバイダーでナビゲーションを有効にする方法

このトピックには、フラグメント内の要素に対して Microsoft UI オートメーション プロバイダーでナビゲーションを有効にする方法を示すコード例が含まれています。

次のコード例では、カスタム リスト コントロール内のリスト アイテムの 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 UI オートメーション プロバイダーの実装

UI オートメーション プロバイダーの方法に関するトピック