다음을 통해 공유


WM_VKEYTOITEM 메시지

WM_KEYDOWN 메시지에 대한 응답으로 LBS_WANTKEYBOARDINPUT 스타일이 있는 목록 상자에서 소유자에게 보냅니다.

WM_VKEYTOITEM

    WPARAM wParam;
    LPARAM lParam; 

매개 변수

wParam

LOWORD는 사용자가 누른 키의 가상 키 코드를 지정합니다. HIWORD는 캐럿의 현재 위치를 지정합니다.

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_KEYDOWNWM_CHAR 메시지를 모두 트래핑하며 서브클래스 프로시저에서 메시지를 적절하게 처리해야 합니다.

앞의 설명은 LBS_WANTKEYBOARDINPUT 스타일로 만든 일반 목록 상자에 적용됩니다. 목록 상자를 소유자가 그린 경우 애플리케이션은 WM_CHARTOITEM 메시지를 처리해야 합니다.

DefWindowProc 함수는 -1을 반환합니다.

대화 상자 프로시저가 이 메시지를 처리하는 경우 원하는 반환 값을 BOOL로 캐스팅하고 값을 직접 반환해야 합니다. SetWindowLong 함수로 설정된 DWL_MSGRESULT 값은 무시됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003[데스크톱 앱만 해당]
헤더
Winuser.h(Windows.h 포함)

추가 정보

참조

WM_CHARTOITEM

기타 리소스

HIWORD

LOWORD

WM_KEYDOWN