SysFn17/ru: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Функция 17''' - получить | '''Функция 17''' - получить идентификатор нажатой кнопки. | ||
---- | ---- | ||
Забирает код нажатой кнопки из буфера. | Забирает код нажатой кнопки из буфера. | ||
Параметры: | |||
:* eax = 17 - номер функции | |||
Возвращаемое значение: | |||
:* если буфер пуст, возвращается eax=1 | |||
:* если буфер непуст: | |||
::* старшие 24 бита eax содержат идентификатор кнопки | |||
:::(в частности, в ah оказывается младший байт идентификатора; | |||
:::если все кнопки имеют идентификатор, меньший 256, | |||
:::то для различения достаточно ah) | |||
::* al = 0 - кнопка была нажата левой кнопкой мыши | |||
::* al = бит, соответствующий нажавшей кнопке мыши, если не левой | |||
Замечания: | |||
:* "Буфер" хранит только одну кнопку, при нажатии новой кнопки | |||
::информация о старой теряется. | |||
:* При вызове этой функции приложением с неактивным окном | |||
::возвращается ответ "буфер пуст". | |||
:* Возвращаемое значение al соответствует состоянию кнопок мыши | |||
::в формате подфункции 2 [[SysFn37/ru|функции 37]] в момент начала нажатия | |||
::на кнопку, за исключением младшего бита (соответствующего левой | |||
::кнопке мыши), который сбрасывается. | |||
''' | '''Константы для регистров:''' | ||
::eax - SF_GET_BUTTON (17) | |||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Latest revision as of 18:00, 12 January 2016
Функция 17 - получить идентификатор нажатой кнопки.
Забирает код нажатой кнопки из буфера. Параметры:
- eax = 17 - номер функции
Возвращаемое значение:
- если буфер пуст, возвращается eax=1
- если буфер непуст:
- старшие 24 бита eax содержат идентификатор кнопки
- (в частности, в ah оказывается младший байт идентификатора;
- если все кнопки имеют идентификатор, меньший 256,
- то для различения достаточно ah)
- al = 0 - кнопка была нажата левой кнопкой мыши
- al = бит, соответствующий нажавшей кнопке мыши, если не левой
Замечания:
- "Буфер" хранит только одну кнопку, при нажатии новой кнопки
- информация о старой теряется.
- При вызове этой функции приложением с неактивным окном
- возвращается ответ "буфер пуст".
- Возвращаемое значение al соответствует состоянию кнопок мыши
- в формате подфункции 2 функции 37 в момент начала нажатия
- на кнопку, за исключением младшего бита (соответствующего левой
- кнопке мыши), который сбрасывается.
Константы для регистров:
- eax - SF_GET_BUTTON (17)
|