SysFn08/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
Line 33: Line 33:
::числом 4095.
::числом 4095.


'''Константы для регистров:'''
::eax - SF_DEFINE_BUTTON (8)


{{System_functions}}
{{System_functions}}
[[Category: SysCalls]]
[[Category: SysCalls]]

Latest revision as of 17:14, 12 January 2016

Функция 8 - определить/удалить кнопку


Параметры для определения кнопки:

  • eax = 8 - номер функции
  • ebx = [координата по оси x]*65536 + [размер по оси x]
  • ecx = [координата по оси y]*65536 + [размер по оси y]
  • edx = 0xXYnnnnnn, где:
  • nnnnnn = идентификатор кнопки
  • старший (31-й) бит edx сброшен
  • если 30-й бит edx установлен - не прорисовывать кнопку
  • если 29-й бит edx установлен - не рисовать рамку
при нажатии на кнопку
  • esi = 0x00RRGGBB - цвет кнопки

Параметры для удаления кнопки:

  • eax = 8 - номер функции
  • edx = 0x80nnnnnn, где nnnnnn - идентификатор кнопки

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

  • функция не возвращает значения

Замечания:

  • Размеры кнопки должны быть больше 0 и меньше 0x8000.
  • Для окон со скином при определении окна (вызове 0-й функции)
создаются две стандартные кнопки - закрытия окна
с идентификатором 1 и минимизации окна с идентификатором 0xffff.
  • Создание двух кнопок с одинаковыми идентификаторами
вполне допустимо.
  • Кнопка с идентификатором 0xffff при нажатии интерпретируется
системой как кнопка минимизации, система обрабатывает такое
нажатие самостоятельно, не обращаясь к приложению.
В остальном это обычная кнопка.
  • Общее количество кнопок для всех приложений ограничено
числом 4095.

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

eax - SF_DEFINE_BUTTON (8)