Difference between revisions of "SysFn17/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
m
Line 10: Line 10:
 
* если буфер не пуст, тогда возвращается:   
 
* если буфер не пуст, тогда возвращается:   
 
** старшие 24 бита eax содержат идентификатор кнопки  
 
** старшие 24 бита eax содержат идентификатор кнопки  
*** в частности, в ah оказывается младший байт идентификатора; если все кнопки имеют идентификатор, меньший 256, то для различения достаточно ah
+
*** в частности, в ah оказывается младший байт идентификатора;  
** а в al возвращается 0 - если использовалась левая кнопка мыши, или бит той кнопки мыши, которая использовалась.
+
*** если все кнопки имеют идентификатор, меньший 256, то для различения достаточно ah
 +
** al = 0 - если использовалась левая кнопка мыши,  
 +
*** или бит той кнопки мыши, которая использовалась.
  
 
'''Замечания:'''
 
'''Замечания:'''

Revision as of 12:06, 3 April 2010

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


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

Параметры:

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

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

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

Замечания:

  • "Буфер" хранит только одну кнопку; при нажатии новой кнопки информация о старой теряется.
  • При вызове этой функции приложением с неактивным окном возвращается ответ "буфер пуст".