다음을 통해 공유


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

IAccessible::get_accKeyboardShortcut 메서드는 지정된 개체의 바로 가기 키 또는 액세스 키(니모닉이라고도 함)를 검색합니다. 바로 가기 키 또는 액세스 키가 있는 모든 개체는 이 속성을 지원합니다.

구문

HRESULT get_accKeyboardShortcut(
  [in]          VARIANT varChild,
  [out, retval] BSTR    *pszKeyboardShortcut
);

매개 변수

[in] varChild

형식: VARIANT

검색된 바로 가기 키가 개체에 속하는지 또는 개체의 자식 요소 중 하나에 속하는지 여부를 지정합니다. 이 매개 변수는 CHILDID_SELF(개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 가져오기 위해)입니다. VARIANT 초기화에 대한 자세한 내용은 매개 변수에서 자식 ID를 사용하는 방법을 참조하세요.

[out, retval] pszKeyboardShortcut

형식: BSTR*

바로 가기 키를 식별하는 지역화된 문자열을 수신하는 BSTR 의 주소이거나, 지정된 개체와 연결된 바로 가기 키가 없는 경우 NULL 입니다.

반환 값

형식: HRESULT

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

성공하지 못하면 다음 테이블의 값 중 하나 또는 다른 표준 COM 오류 코드를 반환합니다. 서버는 이러한 값을 반환하지만 클라이언트는 항상 유효한 값을 포함하도록 출력 매개 변수를 검사 합니다. 자세한 내용은 IAccessible 반환 값 확인을 참조하세요.

오류 Description
S_FALSE
개체에 연결된 바로 가기 키가 없습니다.
E_INVALIDARG
인수가 잘못된 경우.
DISP_E_MEMBERNOTFOUND
개체는 이 속성을 지원하지 않습니다.

설명

액세스 키는 메뉴, 메뉴 항목 또는 단추 또는 기타 컨트롤의 레이블 텍스트에 밑줄이 그어져 있는 문자입니다. 예를 들어 사용자는 ALT 키를 누르고 표시된 밑줄이 그은 키(예: Alt+F)를 눌러 File메뉴를 열어 메뉴를 표시할 수 있습니다. 메뉴 항목의 액세스 키를 사용하려면 항목이 포함된 메뉴가 활성 상태여야 합니다.

도구 모음 단추 및 메뉴 항목과 같은 컨트롤에는 키보드 가속기라고도 하는 연결된 바로 가기 키가 있는 경우가 많습니다. 일부 메뉴 항목에는 액세스 키와 바로 가기 키가 모두 있을 수 있으며 일부 메뉴 항목에는 하나만 있을 수 있습니다. 예를 들어 New라는 메뉴 항목에는 액세스 키 N과 바로 가기 키 Ctrl+N이 있습니다. 바로 가기 키가 작동하려면 메뉴를 활성화할 필요가 없습니다.

클라이언트 개발자에게 참고:

이 속성이 단일 문자를 반환하는 경우 액세스 키 또는 바로 가기 키라고 가정할 수 없습니다. 표준 메뉴 항목을 사용하면 액세스 키가 IAccessible::get_accKeyboardShortcut 반환되고 바로 가기 키가 IAccessible::get_accName 반환된 메뉴 항목 이름의 일부로 반환됩니다. 일반적으로 액세스 키는 ALT + <문자>로 정의되는 경향이 있으며 바로 가기 키는 Ctrl + <문자>인 경향이 있습니다.

서버 개발자에게 참고 사항: UI 요소가 키보드 포커스를 받을 수 있는 경우 요소에 대한 액세스 키를 노출해야 합니다. UI 요소가 키보드 포커스(예: 도구 모음 아이콘)를 받을 수 없는 경우 바로 가기 키를 표시해야 합니다.

바로 가기 키는 일반적으로 컨트롤 자체가 아닌 애플리케이션에 의해 결정되므로 서버는 일반적으로 창에 대한 표준 액세스 가능 개체에서 가져온 값을 반환할 수 있습니다.

클라이언트 예제

다음 예제 함수는 지정된 액세스 가능한 개체 또는 해당 자식 개체 중 하나에 대한 바로 가기 키를 검색하여 콘솔에 출력합니다.

HRESULT PrintShortcut(IAccessible* pAcc, long child)
{
    if (pAcc == NULL)
    {
        return E_INVALIDARG;
    }
    BSTR bstrShortcut;
    VARIANT varObj;
    varObj.vt = VT_I4;
    varObj.lVal = child;
    HRESULT hr = pAcc->get_accKeyboardShortcut(varObj, &bstrShortcut);
    if (hr == S_OK)
    {
        printf("Shortcut: %S\n", bstrShortcut);
        SysFreeString(bstrShortcut);
    }
    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_accName

KeyboardShortcut 속성

변형