IAccessible::accSelect 메서드(oleacc.h)

IAccessible::accSelect 메서드는 선택 항목을 수정하거나 지정된 개체의 키보드 포커스를 이동합니다. 키보드 포커스를 선택하거나 받는 모든 개체는 이 메서드를 지원해야 합니다.

구문

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

매개 변수

[in] flagsSelect

형식: long

수행할 선택 또는 포커스 작업을 지정합니다. 이 매개 변수에는 SELFLAG 상수의 조합이 있어야 합니다.

[in] varChild

형식: VARIANT

선택한 개체를 지정합니다. 값이 CHILDID_SELF 개체 자체가 선택됩니다. 자식 ID인 경우 개체의 자식 요소 중 하나가 선택됩니다. VARIANT 구조를 초기화하는 방법에 대한 자세한 내용은 매개 변수에서 자식 ID를 사용하는 방법을 참조하세요.

반환 값

형식: HRESULT

성공하면 S_OK를 반환합니다.

성공하지 못하면 다음 테이블의 값 중 하나 또는 다른 표준 COM 오류 코드를 반환합니다.

오류 Description
S_FALSE
지정한 개체가 선택되어 있지 않습니다.
E_INVALIDARG
인수가 잘못된 경우. 이 반환 값은 지정된 SELFLAG 조합이 유효하지 않거나 SELFLAG 값이 지정된 개체에 적합하지 않음을 의미합니다. 예를 들어 단일 선택 목록 상자에는 SELFLAG_EXTENDSELECTION, SELFLAG_ADDSELECTIONSELFLAG_REMOVESELECTION 플래그가 허용되지 않습니다.
DISP_E_MEMBERNOTFOUND
개체는 이 메서드를 지원하지 않습니다.

설명

클라이언트 애플리케이션은 이 메서드를 사용하여 복잡한 선택 작업을 수행합니다. 자세한 내용은 자식 개체 선택을 참조하세요. 이 메서드는 애플리케이션 간에 입력 포커스를 프로그래밍 방식으로 전환하는 가장 간단한 방법을 제공합니다. 이는 Windows 2000에서 실행되는 애플리케이션에 적용됩니다.

참고: 이 메서드는 텍스트가 아닌 항목을 선택하기 위한 것입니다.

클라이언트 예제

다음 예제 함수는 화면의 지정된 지점에서 항목을 선택합니다. 단일 선택을 원한다고 가정합니다.

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
라이브러리 Oleacc.lib
DLL Oleacc.dll
재배포 가능 파일 SP6 이상 및 Windows 95를 Windows NT 4.0의 활성 접근성 1.3 RDK

추가 정보

IAccessible

IAccessible::get_accFocus

IAccessible::get_accSelection

SELFLAG

선택 및 포커스 속성 및 메서드

변형