Окно появляющееся при обработке события OnKeyDown



Рисунок 8.21. Окно, появляющееся при обработке события OnKeyDown

  • Событие OnKeyPress наступает при нажатии пользователем символьной клавиши. Данное событие имеет параметр Key, который содержит символ нажатой, клавиши и имеет тип Сhar. При этом различаются символы верхнего и нижнего регистров, а также раскладка клавиатуры.

    Примечание
    С помощью данного события невозможно обработать нажатие функциональных клавиш и клавиш <Shift>, <Ctrl> или <Alt>. Таким образом, когда вы нажмете комбинацию клавиш <Shift>+<b>, в параметр Key события OnKeyPress поступит значение "В" — клавиша <Shift> только поменяет регистр символа. При нажатии комбинации клавиш <Аlt>>+<любая символьная клавиша> событие OnKeyPress не наступает. При нажатой комбинации клавиш <СtrlМ>+<любая символьная клавиша> событие OnKeyPress наступает, но в параметр Key ничего не передается.

  • Событие ОnKеyUр наступает при отпускании пользователем любой ранее нажатой клавиши. Данное событие позволяет обрабатывать все клавиши, как и событие OnKeyDown. По своим параметрам и поведению событие OnKeyUp равносильно событию OnKeyDown.
  • Событие OnMouseDown наступает при нажатии пользователем любой кнопки мыши в тот момент, когда указатель мыши находится над компонентом. Данное событие имеет параметры Button, Shift, X и Y. Параметр Button определяет, какая кнопка мыши нажата:
  • mbLeft — левая кнопка;
  • mbMiddle — средняя кнопка;
  • mbRight — правая кнопка.
Параметр Shift равносилен параметру Shift для событий, связанных с обработкой клавиатуры. Таким образом, можно обрабатывать нажатие любой кнопки мыши одновременно с клавишами <Shift>, <Ctrl> или <Alt>.
Параметры X и Y содержат координаты указателя мыши в области компонента.
  • Событие OnMouseUp наступает, когда пользователь отпускает любую кнопку мыши над компонентом. По своим функциям и параметрам данное событие аналогично событию OnMouseDown.
  • Событие OnMouseMove наступает при перемещении указателя мыши над компонентом. Данное событие возникает независимо от того, нажаты какие-либо кнопки мыши или нет.

    Примечание
    При нажатой левой кнопке мыши данное событие не возникает. Эта особенность почему-то не документирована.

    Данное событие имеет следующие параметры: Shift, X и Y, аналогичные вышеописанным.
  • Событие OnPaint наступает, когда приложение получает сообщение о необходимости перерисовки испорченного изображения. Изображение может испортиться от перекрытия окон одного или нескольких приложений. В обработчике данного события программист должен разместить процедуру, выполняющую перерисовку изображения. Например, если на форме был размещен рисунок, хранящийся в компоненте BitMap, можно для перерисовки изображения использовать следующий обработчик события OnPaint:
    Canvas.Draw (0, 0, BitMap );
  • Событие OnProgress наступает при прохождении медленных процессов, связанных с изменением графического изображения. Данное событие позволяет строить индикаторы хода выполнения процесса. Событие OnProgress имеет следующие параметры: Stage, PercentDone, RedrawNow,R и Msg. Параметр Stage предназначен для указания стадии прогресса (начало, продолжение, окончание) и может принимать значения psStarting (начало), psRunning (продолжение), psEnding (окончание). Параметр PercentDone показывает, какая часть процесса выполнена. Параметр RedrawNow показывает, может ли в настоящий момент изображение успешно отобразиться на экране. Параметр R служит для указания области изображения, которая изменена и требует перерисовки. Наконец, параметр Msg служит для отображения сообщений о ходе процесса. Этот параметр имеет строковый тип. Параметр Msg может быть пустым.


  • Содержание раздела