TranslateAcceleratorA 함수(winuser.h)
메뉴 명령에 대한 가속기 키를 처리합니다. 이 함수는 WM_KEYDOWN 또는 WM_SYSKEYDOWN 메시지를 WM_COMMAND 또는 WM_SYSCOMMAND 메시지(지정된 액셀러레이터 테이블에 키 항목이 있는 경우)로 변환한 다음 WM_COMMAND 또는 WM_SYSCOMMAND 메시지를 지정된 창 프로시저로 직접 보냅니다. TranslateAccelerator 창 프로시저가 메시지를 처리할 때까지 반환되지 않습니다.
통사론
int TranslateAcceleratorA(
[in] HWND hWnd,
[in] HACCEL hAccTable,
[in] LPMSG lpMsg
);
매개 변수
[in] hWnd
형식: HWND
메시지를 번역할 창에 대한 핸들입니다.
[in] hAccTable
형식: HACCEL
액셀러레이터 테이블에 대한 핸들입니다. 가속기 테이블은 LoadAccelerators 함수에 대한 호출에 의해 로드되었거나 CreateAcceleratorTable 함수에 대한 호출에 의해 생성되어야 합니다.
[in] lpMsg
형식: LPMSG
반환 값
형식: int
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
이 함수가 메뉴 또는 컨트롤에서 보낸 메시지에서 보내는 메시지를 구분하기 위해 WM_COMMAND 또는 WM_SYSCOMMAND 메시지의 wParam 매개 변수의 상위 단어에는 값 1이 포함됩니다.
창 메뉴에서 항목을 선택하는 데 사용되는 가속기 키 조합은 WM_SYSCOMMAND 메시지로 변환됩니다. 다른 모든 가속기 키 조합은 WM_COMMAND 메시지로 변환됩니다.
TranslateAccelerator 0이 아닌 값을 반환하고 메시지가 번역되면 애플리케이션은 TranslateMessage 함수를 사용하여 메시지를 다시 처리해서는 안 됩니다.
액셀러레이터는 메뉴 명령에 해당할 필요가 없습니다.
액셀러레이터 명령이 메뉴 항목에 해당하는 경우 사용자가 메뉴를 표시하려고 하는 것처럼 애플리케이션이 WM_INITMENUWM_INITMENUPOPUP 메시지를 보냅니다. 그러나 다음 조건이 있는 경우 이러한 메시지는 전송되지 않습니다.
- 창을 사용할 수 없습니다.
- 가속기 키 조합은 창 메뉴의 항목에 해당하지 않으며 창이 최소화됩니다.
- 마우스 캡처가 적용됩니다. 마우스 캡처에 대한 자세한 내용은 SetCapture 함수를 참조하세요.
메뉴를 소유하는 창이 최소화될 때 메뉴 항목에 해당하는 액셀러레이터 키 입력이 발생하면 translateAccelerator
예제
예를 들어 글꼴 특성대한 가속기 만들기
메모
winuser.h 헤더는 TRANSLATEAccelerator를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
참고 항목
개념
CreateAcceleratorTable
GetMessage
키보드 가속기
LoadAccelerators
MSG
peekMessage
참조
SetCapture