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;
}
関連トピック