AIMP Forum
AIMP for Windows => Ошибки и замечания / Bugs => Skin Editor, Skin Engine => Обработано / Processed => Topic started by: D2NP on March 28, 2018, 21:19:31
-
Прикрепил пример.
- На первую и вторую кнопки повесил события OnMouseDown и OnMouseUp. Скриптами меняется текущий ZOrder кнопок, +1 при нажатии и -1 при отпускании.
- Вторая кнопка с выпадающим меню. Третья просто поверх первой и второй.
- Если нажать первую или вторую кнопку, то видно как меняется их ZOrder и восстанавливается
Если нажать вторую кнопку(вызвать меню), а затем первую, то события кнопок перемешаются, в следствие чего нарушится их порядок. Ожидается, что порядок кнопок всегда будет возвращаться в 0 - 1 - 2
1. Нажимаю вторую кнопку(открывается меню), порядок кнопок меняется на 0 - 2 - 1
2. Зажимаю первую кнопку, порядок меняется на 1 - 2 - 0
3. в этот же момент срабатывает событие OnMouseUp второй кнопки: порядок меняется на 2 - 1 - 0
4. Отжимаю первую кнопку, порядок меняется на 1 - 2 - 0
В этой ситуации события должны перемешиваться или нет?
-
Меню блокирует MouseUp и оно сработает только после закрытия меню. Меню же закроется, если вы кликните где-то мимо, например, клик мимо сначала вызовет MouseDown, а затем только меню закроется.