Управление мышью
Каждый элемент управления обладает набором свойств и методов, обеспечивающих управление мышью. Понятно, что это важный и нужный механизм. Рассмотрим кратко его устройство.
Воздействие мышью на интерфейсные элементы приложения разработчик может отслеживать при помощи целой группы методов-обработчиков.
На нажатие кнопки мыши реагирует метод:
type TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; SHIFT: TSHIFTState; X, Y: Integer) of object; property OnMouseDown: TMouseEvent;
В параметре Button передается признак нажатой кнопки:
type TMouseButton = (mbLeft, mbRight, mbMiddle);
Параметр SHIFT определяет нажатие дополнительной клавиши на клавиатуре:
type TSHIFTState = set of (ssSHIFT, ssALT, ssCTRL, ssLeft, ssRight, ssMiddle, ssDouble);
Параметры х и у возвращают координаты курсора.
На отпускание кнопки мыши реагирует метод:
type TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; SHIFT: TSHIFTState; X, Y: Integer) of object; property OnMouseUp: TMouseEvent;
Его параметры описаны выше.
При перемещении мыши можно вызывать метод-обработчик:
TMouseMoveEvent = procedure(Sender: TObject; SHIFT: TSHIFTState; X, Y: Integer) of object; property OnMouseMove: TMouseMoveEvent;
Если у разработчика нет необходимости так подробно отслеживать состояние мыши, можно воспользоваться двумя другими методами:
property OnClick: TNotifyEvent; property OnDblClick: TNotifyEvent;
Первый реагирует на щелчок кнопкой, второй – на двойной щелчок.
Каждый элемент управления может изменять внешний вид указателя мыши, перемещающейся над ним. Для этого используется свойство:
property Cursor: TCursor;
Для управления дополнительными возможностями мыши для работы в Internet (ScrollMouse) предназначены три метода обработчика, реагирующие на прокрутку:
property OnMouseWheel: TMouseWheelEvent;
…вызывается при прокрутке;
property OnMouseWheelUp: TMouseWheelUpDownEvent;
…вызывается при прокрутке вперед;
property OnMouseWheelDown: TMouseWheelUpDownEvent;
…вызывается при прокрутке назад.