Отправляет email-рассылки с помощью сервиса Sendsay

WinAPI на русском

  Все выпуски  

WinAPI на русском


Информационный Канал Subscribe.Ru

Здравствуйте, уважаемые подписчики. Перед вами очередной выпуск рассылки "WinAPI
на русском".

Сайт рассылки: http://www.bcbdev.ru. Материалы по Win32 API, C++Builder.

Раздел "WinAPI": http://www.bcbdev.ru/winapi.htm
Раздел "C++Builder": http://www.bcbdev.ru/cbuilder.htm
Раздел "Примеры кода": http://www.bcbdev.ru/codesamples.htm
Раздел "MSDN по-русски": http://www.bcbdev.ru/msdn/index.php

Обновления на сайте

Нет.

Перевод

Сегодня вашему вниманию представлен перевод сообщения WM_SYSCHAR.

WM_SYSCHAR

Сообщение WM_SYSCHAR посылается окну с фокусом клавиатуры тогда, когда сообщение
WM_SYSKEYDOWN оттранслировано функцией TranslateMessage . Оно определяет символьный
код системной клавиши - то есть знака клавиши, которая была нажата одновременно
с клавишей ALT. 

Окно получает это сообщение через функцию WindowProc 

LRESULT CALLBACK WindowProc(
  HWND hwnd,       // дескриптор окна
  UINT uMsg,       // WM_SYSCHAR
  WPARAM wParam,    // символьный код(TCHAR)
  LPARAM lParam    // данные клавиши
);
Параметры
wParam 
Определяет символьный  код клавиши меню окна. 
lParam 
Определяет счет повторения, скэн-код, флажок дополнительной клавиши, контекстный
код, предыдущий флажок состояния клавиши, и флажок переходного состояния, как
показано в следующей таблице. Значение Описание 
0–15 Определяет счетчик повторов для текущего сообщения. Значение - число автоматических
повторений нажатий клавиши как результат задержки клавиши пользователем в нажатом
состоянии. Если нажатие клавиши довольно продолжительное, сообщение посылается
многократно. Однако счётчик повторов не комулятивен. 
16–23 Определяет скэн-код. Значение зависит от первоначального изготовителя оборудования
(OEM). 
24 Определяет, является ли клавиша расширенной клавишей, типа правого ALT и клавиши
CTRL, которые появляются на усовершенствованных 101-или 102-клавишных клавиатурах.
Значение - 1, если это - расширенная клавиша; иначе - 0. 
25–28 Резерв; не использовать. 
29 Определяет контекстный код. Значение - 1, если нажата клавиша ALT  во время
нажатия клавиши; иначе, значение - 0. 
30 Определяет предыдущее состояние клавиши. Значение - 1, если клавиша нажата
прежде, чем  послано сообщение, или 0, если клавиша отжата. 
31 Определяет переходное состояние. Значение - 1, если клавиша отпускается, или
0, если клавиша нажимается. 


Возвращаемое значение
Приложение должно вернуть ноль, если оно обрабатывает это сообщение. 

Примечания
Когда контекстный код - ноль, сообщение должно быть передано функции TranslateAccelerator,
которая обработает дескриптор сообщения, как если бы это было сообщением от стандартной
клавиши вместо сообщения системной клавиши. Это позволяет оперативным клавишам
использоваться с активным окном, даже если активное окно не имеет фокуса ввода.


Для усовершенствованной 101-и 102-клавишной клавиатуры, расширенные клавиши -
главный раздел клавиатуры включает правый ALT и, CTRL; INS, DEL, HOME, END, PAGE
UP, PAGE DOWN и клавиши курсора; в кластере слева от цифровой клавиатуры клавиша
PRINT SCRN, клавиша BREAK, клавиша NUMLOCK,  деление  (/) и ENTER на цифровой
клавиатуре. Другие клавиатуры могут поддерживать биты дополнительных клавиш в
параметре lParam. 

Требования 
  Windows NT/2000/XP: Требуется Windows NT 3.1 или более поздняя версия.
  Windows 95/98: Требуется Windows 95 или более поздняя версия.
  Заголовочный файл: Объявлено в Winuser.h; подключить Windows.h.

Смотри также

TranslateAccelerator, TranslateMessage, WM_SYSKEYDOWN 



Справочник по WinAPI: http://www.bcbdev.ru/winapi/win32api.exe
Справочник по WinAPI (zip-версия): http://www.bcbdev.ru/winapi/win32api.zip
Дружественная рассылка "Программирование на WinAPI": http://subscribe.ru/catalog/comp.soft.prog.russianmsdn

С уважением, 
ведущий рассылки
Тарас Сорока.
mailto:tnsoroka@ua.fm

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapi19743
Отписаться

В избранное