WM_VKEYTOITEM 메시지
WM_KEYDOWN 메시지에 대한 응답으로 LBS_WANTKEYBOARDINPUT 스타일이 있는 목록 상자에서 소유자에게 보냅니다.
WM_VKEYTOITEM
WPARAM wParam;
LPARAM lParam;
매개 변수
반환 값
반환 값은 메시지에 대한 응답으로 애플리케이션이 수행한 작업을 지정합니다. 반환 값 -2는 애플리케이션이 항목 선택 작업의 모든 측면을 처리했으며 목록 상자에서 추가 작업할 필요가 없음을 나타냅니다. (설명 참조) 반환 값 -1은 목록 상자가 키 입력에 대한 응답으로 기본 작업을 수행해야 함을 나타냅니다. 0 이상의 반환 값은 목록 상자에 있는 항목의 인덱스를 지정하고 목록 상자가 지정된 항목의 키 입력에 대한 기본 작업을 수행해야 함을 나타냅니다.
설명
반환 값 -2는 목록 상자 컨트롤에서 문자로 변환되지 않은 키에 한해 유효합니다. WM_KEYDOWN 메시지가 WM_CHAR 메시지로 변환되고 애플리케이션이 키를 누른 결과로 생성된 WM_VKEYTOITEM 메시지를 처리하는 경우, 목록 상자는 반환 값을 무시하고 해당 문자에 대해 기본 처리를 수행합니다. VK_UP, VK_DOWN, VK_NEXT, VK_PREVIOUS 같은 키에서 생성된 WM_KEYDOWN 메시지는 WM_CHAR 메시지로 변환되지 않습니다. 이러한 경우 WM_VKEYTOITEM 메시지를 트래핑하고 -2를 반환하면 목록 상자가 해당 키에 대해 기본 처리를 수행하지 못하게 됩니다.
char 메시지를 생성하고 특수 처리를 수행하는 키를 트래핑하려면, 애플리케이션이 목록 상자를 서브클래싱하고 WM_KEYDOWN 및 WM_CHAR 메시지를 모두 트래핑하며 서브클래스 프로시저에서 메시지를 적절하게 처리해야 합니다.
앞의 설명은 LBS_WANTKEYBOARDINPUT 스타일로 만든 일반 목록 상자에 적용됩니다. 목록 상자를 소유자가 그린 경우 애플리케이션은 WM_CHARTOITEM 메시지를 처리해야 합니다.
DefWindowProc 함수는 -1을 반환합니다.
대화 상자 프로시저가 이 메시지를 처리하는 경우 원하는 반환 값을 BOOL로 캐스팅하고 값을 직접 반환해야 합니다. SetWindowLong 함수로 설정된 DWL_MSGRESULT 값은 무시됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003[데스크톱 앱만 해당] |
헤더 |
|
추가 정보
-
참조
-
기타 리소스