Difference between revisions of "SysFn17/ru"
Jump to navigation
Jump to search
m |
m |
||
(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)
|