SysFn17/ru

From KolibriOS wiki
Revision as of 18:00, 12 January 2016 by IgorA (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Функция 17 - получить идентификатор нажатой кнопки.


Забирает код нажатой кнопки из буфера. Параметры:

  • eax = 17 - номер функции

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

  • если буфер пуст, возвращается eax=1
  • если буфер непуст:
  • старшие 24 бита eax содержат идентификатор кнопки
(в частности, в ah оказывается младший байт идентификатора;
если все кнопки имеют идентификатор, меньший 256,
то для различения достаточно ah)
  • al = 0 - кнопка была нажата левой кнопкой мыши
  • al = бит, соответствующий нажавшей кнопке мыши, если не левой

Замечания:

  • "Буфер" хранит только одну кнопку, при нажатии новой кнопки
информация о старой теряется.
  • При вызове этой функции приложением с неактивным окном
возвращается ответ "буфер пуст".
  • Возвращаемое значение al соответствует состоянию кнопок мыши
в формате подфункции 2 функции 37 в момент начала нажатия
на кнопку, за исключением младшего бита (соответствующего левой
кнопке мыши), который сбрасывается.

Константы для регистров:

eax - SF_GET_BUTTON (17)