IAccessible::accSelect メソッド (oleacc.h)

IAccessible::accSelect メソッドは、選択範囲を変更するか、指定したオブジェクトのキーボード フォーカスを移動します。 選択をサポートするか、キーボード フォーカスを受け取るオブジェクトはすべて、このメソッドをサポートする必要があります。

構文

HRESULT accSelect(
  [in] long    flagsSelect,
  [in] VARIANT varChild
);

パラメーター

[in] flagsSelect

型: long

実行する選択操作またはフォーカス操作を指定します。 このパラメーターには、 SELFLAG 定数の組み合わせが必要です。

[in] varChild

型: VARIANT

選択したオブジェクトを指定します。 値がCHILDID_SELF場合は、オブジェクト自体が選択されます。子 ID の場合は、オブジェクトの子要素の 1 つが選択されます。 VARIANT 構造体の初期化の詳細については、「パラメーターでの子 ID の使用方法」を参照してください。

戻り値

型: HRESULT

成功した場合は、S_OK を返します。

成功しなかった場合は、次のテーブルの値の 1 つ、または別の標準 COM エラー コードを返します。

エラー 説明
S_FALSE
指定したオブジェクトが選択されていません。
E_INVALIDARG
引数が有効ではありません。 この戻り値は、指定された SELFLAG の組み合わせが無効であるか、指定されたオブジェクトに対して SELFLAG 値が意味をなしていないことを意味します。 たとえば、単一選択リスト ボックスでは、SELFLAG_EXTENDSELECTION、SELFLAG_ADDSELECTIONSELFLAG_REMOVESELECTIONのフラグは使用できません。
DISP_E_MEMBERNOTFOUND
オブジェクトは、このメソッドをサポートしていません。

注釈

クライアント アプリケーションでは、このメソッドを使用して、複雑な選択操作を実行します。 詳細については、「 子オブジェクトの選択」を参照してください。 このメソッドは、プログラムによってアプリケーション間で入力フォーカスを切り替える最も簡単な方法を提供します。 これは、Windows 2000 で実行されているアプリケーションに適用されます。

メモ: このメソッドは、テキストではなく項目を選択するためのメソッドです。

クライアントの例

次の関数例では、画面上の指定したポイントにある項目を選択します。 1 つの選択が必要であると見なされます。

HRESULT SelectItemAtPoint(POINT point)
{
    VARIANT varItem;
    IAccessible* pAcc;
    HRESULT hr = AccessibleObjectFromPoint(point, &pAcc, &varItem);
    if ((hr == S_OK))
    {
        hr = pAcc->accSelect((SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION), varItem);
        VariantClear(&varItem);
        pAcc->Release();
    }
    return hr;
}

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー oleacc.h
Library Oleacc.lib
[DLL] Oleacc.dll
再頒布可能パッケージ SP6 以降および Windows 95 を使用した Windows NT 4.0 のアクティブなアクセシビリティ 1.3 RDK

こちらもご覧ください

Iaccessible

IAccessible::get_accFocus

IAccessible::get_accSelection

SELFLAG

選択とフォーカスのプロパティとメソッド

バリアント