WM_DEADCHAR

인수

wParam : 데드키에 의해 발생한 문자 코드

lParam : 반복 회수, 스캔 코드, 확장키 등에 대한 정보고 비트필드로 전달된다. WM_KEYDOWN의 lParam과 동일하다.

설명

데드키란 단독으로 문자를 구성할 수 없는 키이며 이 키에 의해 발생하는 데드 문자는 다음에 입력되는 문자와 조합되어 하나의 문자를 만든다. 예를 들어 독일어 키보드의 경우 움라이트 키가 먼저 입력된 후 a,o,u 등이 입력되면 a,o,u위에 점 두 개가 찍히는 움라이트 문자가 입력되는데 이때 먼저 입력되는 움라이트가 데드 문자이다. 움라이트 문자를 입력했을 때 다음 메시지가 순서대로 전달된다.

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

이 메시지는 데드키를 누를 때 TranslateMessage 함수에 의해 발생하며 포커스를 가진 윈도우에게 전달된다. 통상 이 메시지는 무시하며 움라우트 입력 결과는 최종적으로 WM_CHAR로 전달되므로 이 메시지만 처리하면 된다. 그러나 데드키 입력 사실을 사용자에게 분명히 알려주고 싶을 때는 이 메시지를 처리하여 다음 입력될 문자와 조합되어 한 문자가 됨을 표시할 수도 있다. 만약 데드키 다음에 입력된 문자가 데드키와 조합되지 못하는 글자일 경우는 데드키와 다음 문자 각각에 대해 두 개의 WM_CHAR 메시지가 전달된다. 독일, 폴란드, 그리스 등의 유럽 계통의 키보드에서 필요한 메시지이며 한국의 키보드에서는 이 메시지가 절대로 발생하지 않는다.

리턴

이 메시지를 처리했으면 0을 리턴한다.

예제

한국어 키보드에는 데드키가 없으므로 예제를 만들 수 없다.

플랫폼

95이상

참조

WM_SYSDEADCHAR


written by http://www.winapi.co.kr