SysFn08/ru: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 28: | Line 28: | ||
* Общее количество кнопок для всех приложений ограничено числом 4095. | * Общее количество кнопок для всех приложений ограничено числом 4095. | ||
{{System_functions}} | |||
[[Category: SysCalls]] | [[Category: SysCalls]] | ||
Revision as of 09:45, 3 April 2010
Функция 8 - определить/удалить кнопку
Параметры для определения кнопки:
- eax = 8 - номер функции
- ebx = [координата по оси x]*65536 + [размер по оси x]
- ecx = [координата по оси y]*65536 + [размер по оси y]
- edx = 0xXYnnnnnn, где:
- nnnnnn = идентификатор кнопки
- старший (31-й) бит edx сброшен
- если 30-й бит edx установлен - не прорисовывать кнопку
- если 29-й бит edx установлен - не рисовать рамку при нажатии на кнопку
- esi = 0x00RRGGBB - цвет кнопки* ebx = указатель на изображение в формате BBGGRRBBGGRR...
Параметры для удаления кнопки:
- eax = 8 - номер функции
- edx = 0x80nnnnnn, где nnnnnn - идентификатор кнопки
Возвращаемое значение:
- функция не возвращает значения
Замечания:
- Размеры кнопки должны быть больше 0 и меньше 0x8000.
- Для окон со скином при определении окна (вызове 0-й функции) создаются две стандартные кнопки - закрытия окна с идентификатором 1 и минимизации окна с идентификатором 0xffff.
- Создание двух кнопок с одинаковыми идентификаторами вполне допустимо.
- Кнопка с идентификатором 0xffff при нажатии интерпретируется системой как кнопка минимизации, система обрабатывает такое нажатие самостоятельно, не обращаясь к приложению. В остальном это обычная кнопка.
- Общее количество кнопок для всех приложений ограничено числом 4095.
|