На этом шаге мы рассмотрим события от мыши.
e_MouseDown(Pnt,ShiftCtrlAlt,Button)
Это событие генерируется при нажатии кнопки мыши в клиентской области окна. Параметр Button идентифицирует нажатую кнопку: опрелены следующие константы: mouse_button_left, mouse_button_right, mouse_button_middle.
Параметр ShiftCtrlAlt содержит состояние клавиш <Shift>, <Ctrl> и <Alt>. Определены следующие константы: c_Nothing, c_Shift, c_Control, с_ Alt, c_ShiftCtl, c_ShiftAlt, c_CtlAlt, c_ShiftCtlAlt.
Структура Pnt содержит позицию в клиентском окне, в которой была нажата кнопка мыши.
Обычно в ответ на событие e_MouseDown никакие действия не выполняются. Это событие используется для подготовки операции, которая должна реагировать на событие e_MouseMove до тех пор, пока не произойдет событие e_MouseUp. Чтобы быть уверенным в том, что событие e_MouseUp будет получено, вы должны следить за тем, чтобы мышь не "выходила" за пределы окна до отпускания кнопки мыши, т. к. иначе событие e_MouseUp не будет послано обработчику событий окна.
Если щелкнуть мышью на кнопке, меню, границах и т. д., генерируются другие управляющие события, которые не являются событиями мыши.
e_MouseDbl(Pnt,ShiftControlAlt,Button)
Это событие генерируется при двойном нажатии кнопки мыши в клиентской области окна. Событие e_MouseDbl не препятствует посылке составляющих его сообщений e_MouseDown и e_MouseUp.
e_MouseMove(Pnt,ShiftCtrlAlt,ButtonsList)
Это событие генерируется всякий раз, когда мышь перемещается внутри окна. Параметр Pnt содержит новое положение курсора мыши. Во время перемещения мыши будет генерироваться поток таких событий.
Событие e_MouseMove может предназначаться для различных целей. Например, это событие может быть использовано для обработки перетаскивания мышью различных элементов (блок текста в текстовом редакторе Visual Prolog).
e_MouseUp(Pnt,ShiftCtrlAlt,Button)
Это событие генерируется всякий раз при отпускании кнопки мыши в клиентской области окна.
На следующем шаге мы рассмотрим события от клавиатуры.