다음을 통해 공유


OleTranslateAccelerator 함수(ole2.h)

개체 애플리케이션에서 호출하면 개체의 컨테이너가 컨테이너의 가속기 테이블에 따라 가속기를 변환할 수 있습니다.

구문

HRESULT OleTranslateAccelerator(
  [in] LPOLEINPLACEFRAME     lpFrame,
  [in] LPOLEINPLACEFRAMEINFO lpFrameInfo,
  [in] LPMSG                 lpmsg
);

매개 변수

[in] lpFrame

키 입력을 보낼 수 있는 IOleInPlaceFrame 인터페이스에 대한 포인터입니다.

[in] lpFrameInfo

컨테이너에서 가져온 가속기 테이블을 포함하는 OLEINPLACEFRAMEINFO 구조체에 대한 포인터입니다.

[in] lpmsg

키 입력을 포함하는 MSG 구조체에 대한 포인터입니다.

반환 값

이 함수는 성공에 대한 S_OK 반환합니다. 다른 가능한 값은 다음과 같습니다.

반환 코드 설명
E_FAIL
개체는 이 메시지를 계속 처리해야 합니다.

설명

개체 서버는 OleTranslateAccelerator 를 호출하여 개체의 컨테이너가 lpFrameInfo가 가리키는 컨테이너의 가속기 테이블에 따라 가속기 키 입력을 변환할 수 있도록 합니다. 포함된 개체가 활성 개체이지만, 개체의 서버는 항상 받은 메시지를 변환할 수 있는 첫 번째 기회를 가집니다. 이 작업을 원하지 않는 경우 서버는 OleTranslateAccelerator 를 호출하여 개체의 컨테이너에 기회를 제공합니다. 키보드 입력이 컨테이너 제공 가속기 테이블에 있는 가속기와 일치하는 경우 OleTranslateAcceleratorIOleInPlaceFrame::TranslateAccelerator 메서드를 통해 메시지 및 해당 명령 식별자를 컨테이너에 전달합니다. 이 메서드는 키 입력이 사용되는 경우 S_OK 반환합니다. 그렇지 않으면 S_FALSE 반환됩니다.

컨테이너의 액셀러레이터 테이블은 자체 가속기 키 입력 변환을 수행하는 개체 애플리케이션에서 제대로 작동할 수 있도록 정의해야 합니다. 이러한 테이블은 다음 형식을 사용해야 합니다.

"char", wID, VIRTKEY, CONTROL

키보드 가속기를 설명하는 가장 일반적인 방법입니다. 이렇게 하지 않으면 현재 위치 세션 중에 키 입력이 손실되거나 잘못된 개체로 전송될 수 있습니다.

개체는 IsAccelerator 함수를 호출하여 가속기 키 입력이 개체 또는 컨테이너에 속하는지 여부를 확인할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ole2.h
라이브러리 Ole32.lib
DLL Ole32.dll
API 세트 ext-ms-win-com-ole32-l1-1-3(Windows 10 버전 10.0.10240에 도입됨)

추가 정보

IOleInPlaceFrame::TranslateAccelerator

IsAccelerator