SysFn17/ru: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m ("идентификатор" вместо "код кнопки") |
||
Line 1: | Line 1: | ||
'''Функция 17''' - получить | '''Функция 17''' - получить идентификатор нажатой кнопки. | ||
---- | ---- | ||
Забирает | Забирает из буфера идентификатор нажатой кнопки. | ||
'''Параметры:''' | '''Параметры:''' | ||
* eax = 17 - номер функции | * eax = 17 - номер функции | ||
'''Возвращаемое значение:''' | '''Возвращаемое значение:''' | ||
* если буфер пуст, возвращается eax=1 | * если буфер пуст, возвращается eax=1 | ||
Line 16: | Line 17: | ||
'''Замечания:''' | '''Замечания:''' | ||
* Идентификатор кнопки задаётся при её создании [[SysFn08/ru|функцией 8]]. Разные кнопки могут иметь одинаковый идентификатор. | |||
* "Буфер" хранит только одну кнопку; при нажатии новой кнопки информация о старой теряется. | * "Буфер" хранит только одну кнопку; при нажатии новой кнопки информация о старой теряется. | ||
* При вызове этой функции приложением с неактивным окном возвращается ответ "буфер пуст". | * При вызове этой функции приложением с неактивным окном возвращается ответ "буфер пуст". |
Revision as of 23:55, 5 April 2010
Функция 17 - получить идентификатор нажатой кнопки.
Забирает из буфера идентификатор нажатой кнопки.
Параметры:
- eax = 17 - номер функции
Возвращаемое значение:
- если буфер пуст, возвращается eax=1
- если буфер не пуст, тогда возвращается:
- старшие 24 бита eax содержат идентификатор кнопки
- в частности, в ah оказывается младший байт идентификатора;
- если все кнопки имеют идентификатор, меньший 256, то для различения достаточно ah
- al = 0 - если использовалась левая кнопка мыши,
- или бит той кнопки мыши, которая использовалась.
- старшие 24 бита eax содержат идентификатор кнопки
Замечания:
- Идентификатор кнопки задаётся при её создании функцией 8. Разные кнопки могут иметь одинаковый идентификатор.
- "Буфер" хранит только одну кнопку; при нажатии новой кнопки информация о старой теряется.
- При вызове этой функции приложением с неактивным окном возвращается ответ "буфер пуст".
|