На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

ToUnicodeEx



The ToUnicodeEx function translates the specified virtual-key code and keyboard state to the corresponding Unicode character or characters.

int ToUnicodeEx(

UINT wVirtKey, // virtual-key code
UINT wScanCode, // scan code
PBYTE lpKeyState, // address of key-state array
LPWSTR pwszBuff, // buffer for translated key
int cchBuff, // size of translated key buffer
UINT wFlags, // set of function-conditioning flags
HKL dwhkl // keyboard layout handle
);


Parameters

wVirtKey

Specifies the virtual-key code to be translated.

wScanCode

Specifies the hardware scan code of the key to be translated. The high-order bit of this value is set if the key is up.

lpKeyState

Points to a 256-byte array that contains the current keyboard state. Each element (byte) in the array contains the state of one key. If the high-order bit of a byte is set, the key is down.

pwszBuff

Points to the buffer that receives the translated Unicode character or characters.

cchBuff

Specifies the size in characters of the buffer pointed to by the pwszBuff parameter.

wFlags

A set of bit flags that condition the behavior of the function. Set bit 0 if a menu is active. Bits 1 through 31 are reserved.

dwhkl

Identifies the keyboard layout to use to translate the given code. This parameter can be any keyboard layout handle previously returned by the LoadKeyboardLayout function.



Return Values

The function returns one of the following values:

Value Meaning
- 1 The specified virtual key is a dead-key character (accent or diacritic). This value is returned regardless of the keyboard layout, even if several characters have been typed and are stored in the keyboard state. If possible, even with Unicode keyboard layouts, the function has written a spacing version of the dead-key character to the buffer specified by pwszBuffer. For example, the function writes the character SPACING ACUTE (0x00B4), rather than the character NON_SPACING ACUTE (0x0301).
0 The specified virtual key has no translation for the current state of the keyboard. Nothing was written to the buffer specified by pwszBuffer.
1 One character was written to the buffer specified by pwszBuffer.
2 or more Two or more characters were written to the buffer specified by pwszBuff. The most common cause for this is that a dead-key character (accent or diacritic) stored in the keyboard layout could not be combined with the specified virtual key to form a single character.


Remarks

The parameters supplied to the ToUnicodeEx function might not be sufficient to translate the virtual-key code because a previous dead key is stored in the keyboard layout.
Typically, ToUnicodeEx performs the translation based on the virtual-key code. In some cases, however, bit 15 of the wScanCode parameter can be used to distinguish between a key press and a key release.

See Also

ToAscii, ToUnicode, VkKeyScan


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

ToUnicodeEx



Функция ToUnicodeEx переводится определенному виртуальному-ключевому кодовому и клавишному состоянию в соответствующий символ Уникода или символов.

int ToUnicodeEx(

UINT wVirtKey, // ВИРТУАЛЬНЫЙ-ключевой код UINT wScanCode, // код сканирования PBYTE lpKeyState, // адрес ключевого-государственного массива LPWSTR pwszBuff, // буфер для переведенного ключа int cchBuff, // размер переведенного ключевого буфера UINT wFlags, // установленное функциональной подготовки флагов HKL dwhkl // клавишная ручка формата
);


Параметры

wVirtKey

Определяет виртуальный-ключевой код, чтобы быть переведенн.

wScanCode

Определяет аппаратный код сканирования ключа, который нужно переводиться. Старший бит этой величины установлен если ключ - по.

lpKeyState

Точки на 256- байтовый массив, которые содержат текущее клавишное состояние. Каждый элемент (байт) в массиве содержит состояние одного ключа. Если старший бит байта установлен, ключ нажатый.

pwszBuff

Точки на буфер, которые получают переведенный символ Уникода или символов.

cchBuff

Определяет размер в типах буфера указанных, чтобы параметром pwszBuff.

wFlags

Набор бита сигнализирует, что оценивает поведение функции. Установите биту 0 если меню активно. Кусает 1 по 31 зарезервированы.

dwhkl

Идентифицирует клавишный формат, чтобы использоваться, чтобы переводиться данный код. Этот параметр может быть любой клавишной ручкой формата прежде возвращанной функцией LoadKeyboardLayout.



Обратные Величины

Функция возвращает одно из следующего величин:

Значение Величины
- 1 Определенная виртуальная клавиша - мертвый-ключевой символ (акцент или диакритический). Эта величина возвращана независимо от клавишного формата, даже если бы несколько символов набраны и загружены в клавишное состояние. Если возможно, даже с клавишными форматами Уникода, функция записала бы размещающую версию мертвого-ключевого символа в буфер определенный pwszBuffer. Например, функция записывает символ, РАЗМЕЩАЮЩИЙ ОСТРЫМ (0x00B4), а не символ NON_SPACING ОСТРЫЙ (0x0301).
0 Определенная виртуальная клавиша не имеет перевод для текущего состояния клавиатуры. Ничто не был записан в буфер определенный pwszBuffer.
1 Одних символа были записаны в буфер определенный pwszBuffer.
2 или более Два или больше символов были записаны в буфер определенный pwszBuff. Наиболее общая причина этого в том, что мертвый-ключевой символ (акцент или диакритический) загруженное в клавишный формат не могло объединено определенной виртуальной клавишей, чтобы формировать единственный символ.


Замечания

Параметры поставленные в функцию ToUnicodeEx не могли быть достаточными, чтобы переводиться виртуальный-ключевой код поскольку предшествующая мертвая клавиша загружена в клавишный формат.
Обычно, ToUnicodeEx выполняет перевод основанный в виртуальном-ключевом коде. В некоторых случаях, тем не менее, бит 15 параметра wScanCode могут быть использованы, чтобы различаться между ключевым нажатием и ключевая версия.

Смотри Также

ToAscii, ToUnicode, VkKeyScan


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz