Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Переключение фокуса

CuBook05

Действие пользователя Событие
Перемещение курсора мыши в пределах первого компонента Множество событий OnMouseMove в первом компоненте
Перемещение курсора мыши в пределах формы Множество событий OnMouseMove в форме
Перемещение курсора мыши в пределах второго компонента Множество событий OnMouseMove во втором компоненте
Нажатие кнопки мыши OnExit в первом компоненте
OnEnter во втором компоненте
OnMouseDown во втором компоненте
Отпускание кнопки мыши OnClick во втором компоненте
OnMouseUp во втором компоненте
 
События OnMouseMove происходят постоянно в процессе перемещения курсора мыши и даже просто при его дрожании, неизбежном, если пользователь не снимает руки с мыши. Это надо учитывать и пользоваться этим событием очень осторожно, поскольку оно, в отличие от других, происходит многократно.
 
Как видно из приведенной таблицы, каждое действие пользователя, связанное с нажатием или отпусканием кнопки мыши приводит к серии последовательно наступающих событий. В обработчиках событий OnMouseDown и OnMouseUp можно распознать, какая кнопка мыши нажата, и в какой точке компонента находится в данный момент курсор мыши.
 
Рассмотренная выше последовательность событий имеет место, если во втором компоненте свойство DragMode равно dmManual (ручное начало процесса перетаскивания), как это установлено по умолчанию. Если же это свойство равно dmAutomatic (автоматическое начало процесса перетаскивания), то все рассмотренные события, связанные с манипуляцией мышью, заменяются следующими:
Событие Описание
OnMouseDown Заменяется на OnStartDrag.
OnMouseMove Заменяется на событие OnDragOver того компонента, над которым перемещается курсор мыши.
OnMouseUp Заменяется на событие OnDragDrop компонента, над которым завешается перетаскивание (если компонент может воспринять информацию от перетаскиваемого объекта), и последующее событие OnEndDrag компонента, который перетаскивался.
 
События OnExit и OnEnter вообще не возникают, поскольку переключения фокуса не происходит. Не наступает также событие OnClick.
 
Если щелчок делается на объекте, который уже находится в этот момент в фокусе, то не происходят события OnExit и OnEnter. В этом случае при нажатии кнопки наступает только событие OnMouseDown, а при отпускании кнопки события OnClick и OnMouseUp.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий