Событие Evn11: уход указателя из области элемента
Как в интерфейсе различают выход указателя из области элемента, потерю фокуса и другие события очистки состояния, и почему геометрия в момент события не всегда совпадает с текущей.

Назначение
Событие с идентификатором Evn11 и обозначением MousOut связывают с уходом указателя из области элемента. В типовом интерфейсе это сигнал, по которому приложение может вернуть элемент в исходное состояние: снять подсветку, остановить анимацию, закрыть всплывающую подсказку. Подобная обработка называется сбросом состояния наведения, и она распространена в графических оболочках, где внешний вид элемента меняется, пока указатель находится над ним.
Что именно означает уход указателя
Геометрический выход указателя из границ элемента и потеря фокуса — разные события. Фокус может уехать на другой объект, когда пользователь щёлкает вне элемента или переключает окно, но при этом указатель физически остаётся на месте. Разрушение элемента, снятие захвата указателя и явная отмена действия тоже требуют очистки состояния, однако каждое из них имеет собственный канал доставки, который зависит от конкретной системы. Ни одно из этих событий не гарантирует, что будет сгенерирован именно сигнал ухода указателя.
Пример интерфейса с состоянием наведения
Представим кнопку, которая подсвечивается при наведении и запускает таймер ожидания. При входе указателя состояние меняется на «активно», при выходе — возвращается в «неактивно». Если пользователь нажал кнопку и удерживает её, а затем указатель покинул область, разумно не сбрасывать состояние принудительно, пока не отпущена кнопка. Это выбор проектировщика: в одном приложении выход указателя всегда завершает наведение, в другом — только если элемент не находится в состоянии нажатия.
Освобождение ресурсов
Очистка ресурсов при уходе указателя должна касаться только тех объектов, которые принадлежат данному элементу или его жизненному циклу. Если подсветка использует общий буфер, разделяемый с другими элементами, освобождать его нельзя. Если таймер создан внутри обработчика наведения, его остановка уместна именно при выходе указателя. Универсального правила «каждый выход освобождает всё» не существует: владение ресурсами определяет, что именно подлежит освобождению.
Координаты в момент события
Когда элемент меняет геометрию — сжимается, перемещается, скрывается — интерпретация наведения может измениться. Координаты, зафиксированные в момент срабатывания события, и текущие координаты указателя в момент выполнения обработчика не тождественны. В одном случае обработчик получает позицию, где указатель находился в момент перехода границы; в другом — актуальную позицию, которая уже могла сместиться. Какой именно набор координат передаётся, определяет контракт события. Проверять следует документацию конкретного окружения, а не предполагать, что текущая геометрия всегда предпочтительнее.
Ограничения описания
Обозначение Evn11 и имя MousOut указывают на назначение сигнала, но не раскрывают его параметры. Список аргументов, система координат, порядок доставки при одновременном выходе из нескольких вложенных элементов и поведение при захвате указателя остаются неопределёнными без отдельной спецификации. Приведённые выше соображения описывают общие подходы к обработке ухода указателя в графических интерфейсах и не являются подтверждённым контрактом конкретного события.