Страница 16 из 45
Функция MapVirtualKey (ПреобразоватьВиртуальнуюКлавишу) Функция MapVirtualKey транслирует код виртуальной клавиши в скэн-код или символьное значение, или переводит скэн-код в код виртуальной клавиши. Синтаксис UINT MapVirtualKey( UINT uCode,// код виртуальной клавиши или скэн-код UINT uMapType// трансляция для исполнения );
Параметры uCode Определяет код виртуальной клавиши или скэн-код для клавиши. Как это значение интерпретируется, зависит от значения параметра uMapType. uMapType Определяет трансляцию для исполнения. Значение этого параметра зависит от значения параметра uCode: Значение Предназначение 0uCode - код виртуальной клавиши и транслируется в скэн-код. Если это код виртуальной клавиши, который не делает различия между лево - и правосторонними клавишами, возвращается скэн-код левой клавиши. Если не происходит никакой трансляции, функция возвращает значение 0. 1uCode - скэн-код и транслируется в код виртуальной клавиши, который не делает различия между лево - и правосторонними клавишами. Если не происходит никакой трансляции, функция возвращает значение 0. 2uCode - код виртуальной клавиши и транслируется в значение символов нижнего регистра, в младшем слове величина возвращаемого значения. Мертвые клавиши (диакритические знаки) обозначаются при помощи установки старшего бита величины возвращаемого значения. Если не происходит никакой трансляции, функция возвращает значение 0. 3uCode - скэн-код и транслируется в код виртуальной клавиши, который делает различие между лево - и правосторонними клавишами. Если не производится никакой трансляции, функция возвращает значение 0. Возвращаемые значения Величина возвращаемого значения является или скэн-кодом, кодом виртуальной клавиши, или символьным значением, которое зависит от значения uCode и uMapType. Если не производится никакой трансляции, величина возвращаемого значения нулевая. Замечания Прикладная программа может использовать MapVirtualKey, чтобы перевести скэн-коды в константы кода виртуальной клавиши VK_SHIFT, VK_CONTROL и VK_MENU и наоборот. Эти трансляции не делают различия между левыми и правыми экземплярами клавиш SHIFT, CTRL или ALT. Прикладная программа может получить скэн-код, соответствующий для левого или правого экземпляра одной из этих клавиш путем вызова MapVirtualKey с установкой uCode в одну из следующих констант кода виртуальной клавиши: VK_LSHIFTVK_RSHIFT VK_LCONTROLVK_RCONTROL VK_LMENUVK_RMENU
Эти лево - и правосторонние константы доступны прикладной программе только через функции GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState и MapVirtualKey. Смотри также GetAsyncKeyState, GetKeyboardState, GetKeyState, SetKeyboardState Размещение и совместимость MapVirtualKey Windows NTДа Win95Да Win32sДа Импортируемая библиотекаuser32.lib Заголовочный файлwinuser.h UnicodeWinNT Замечания по платформеНе имеется
|