1034_____________________________________________Глава 15

Параметр Shift, являющийся множеством, содержит элементы, позволяющие
определить, какие кнопки мыши и какие вспомогательные клавиши (Shift, Ctrl и
Alt) нажаты в этот момент. Параметры Х и Y определяют координаты указателя
мыши в клиентской области компонента. Параметр Sender (источник события) —
сам компонент.

Событие OnMouseMove возникает независимо от того, нажаты ли какие-то
кнопки или клавиши. Правда, хотя это и не документировано в C++Builder, при
нажатой правой кнопке мыши (а в некоторых типах мыши — при нажатой левой
кнопке) это событие, почему-то, не наблюдается.

Пример

if (Shift.Contains(ssAlt))...

Этот оператор проверяет, не нажата ли клавиша Alt во время перемещения
курсора мыши над компонентом, и, если нажата, то предпринимаются какие-то
действия.

OnPaint

Событие наступает при получении сообщения Windows о необходимости пере-
рисовать испорченное изображение

Классы TCustomForm, TPaintBox

Определение

typedef void (_closure *TNotifyEvent)(System::TObject* Sender) ;

property Classes::TNotifyEvent OnPaint

Описание

Событие OnPaint наступает, когда приходит сообщение Windows о необходи-
мости перерисовать испорченное изображение. Изображение может испортится
из-за временного перекрытия данного окна другим окном того же или стороннего
приложения. Обработчик данного события должен перерисовать изображение.
При перерисовке изображения канвы Canvas можно использовать ее свойство
ClipRect. которое указывает область канвы, внутри которой изображение испорче-
но.

Примеры

Если копия изображения, отображаемого на канве, хранится в компоненте
BitMap, то обработчик события OnPaint для формы может иметь вид:

Canvas->Draw(О,О,BitMap) ;

а для компонента PaintBox

PaintBoxl->Canvas->Draw(0,0,BitMap) ;

Более быстрая перерисовка получается при использовании свойства ClipRect
канвы, например:

Canvas->CopyRect(Canvas->ClipRect,Bitmap->Canvas, Canvas->ClipRect) ;

OnProgress

События происходят при медленных процессах изменения графического изоб-
ражения и позволяют построить индикатор хода процесса