Функция MapVirtualKey


Функция MapVirtualKey транслирует (преобразует) код виртуальной клавиши в скэн-код или символьное значение, или переводит скэн-код в код виртуальной клавиши.

Чтобы установить дескриптор раскладки клавиатуры, которая используется для трансляции указанного кода, используйте функцию MapVirtualKeyEx.

Синтаксис

UINT MapVirtualKey(
    UINT uCode,
    UINT uMapType
);

Параметры

uCode

[in] Определяет код виртуальной клавиши или скэн-код для клавиши. Как это значение интерпретируется, зависит от значения параметра uMapType.

uMapType

[in] Определяет трансляцию для исполнения. Значение этого параметра зависит от значения параметра uCode:

 

Значение

Предназначение

0

uCode - код виртуальной клавиши и транслируется в скэн-код. Если это код виртуальной клавиши, который не делает различия между лево - и правосторонними клавишами, возвращается скэн-код левосторонней клавиши. Если трансляции не происходит, функция возвращает значение 0.

1

uCode - скэн-код и транслируется в код виртуальной клавиши, который не делает различия между лево - и правосторонними клавишами. Если трансляции не происходит, функция возвращает значение 0.

2

uCode - код виртуальной клавиши и транслируется в значение символов нижнего регистра, в младшем слове величина возвращаемого значения. Мертвые клавиши (диакритические знаки) обозначаются при помощи установки старшего бита возвращаемого значения. Если трансляции не происходит, функция возвращает значение 0.

3

Windows NT/2000/XP: uCode - скэн-код и транслируется в код виртуальной клавиши, который делает различие между лево - и правосторонними клавишами. Если трансляции не происходит, функция возвращает значение 0.

Возвращаемые значения

Величина возвращаемого значения является или скэн-кодом, или кодом виртуальной клавиши, или символьным значением, которое зависит от значения uCode и uMapType. Если трансляции не происходит, функция возвращает значение 0.

Замечания

Прикладная программа может использовать функцию MapVirtualKey, чтобы перевести скэн-коды в константы кода виртуальной клавиши VK_SHIFT, VK_CONTROL и VK_MENU и наоборот. Эти преобразования не делают различия между левыми и правыми экземплярами клавиш SHIFT, CTRL или ALT.

Windows NT/2000/XP:  Прикладная программа может получить скэн-код, соответствующий для левого или правого экземпляра одной из этих клавиш путем вызова MapVirtualKey с установкой uCode в одну из следующих констант кода виртуальной клавиши:

 

VK_LSHIFT

VK_RSHIFT

VK_LCONTROL

VK_RCONTROL

VK_LMENU

VK_RMENU

Эти лево - и правосторонние константы доступны прикладной программе только через функции GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState и MapVirtualKey.

Windows 95/98/Me: MapVirtualKeyW поддерживается  подпрограммой Microsoft Layer for Unicode (MSLU). Чтобы использовать подпрограмму, Вы должны добавить некоторые файлы к вашему приложению, как это определено в Microsoft Layer for Unicode для систем Windows 95/98/Me.

Смотри также

Обзор Ввод данных с клавиатуры, GetAsyncKeyState, GetKeyboardState, GetKeyState, MapVirtualKeyEx, SetKeyboardState

Размещение и совместимость MapVirtualKey

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz