992_____________________________________________Глава 15

Описание

Метод Draw рисует изображение, содержащееся в объекте, указанном пара-
метром Graphic, сохраняя исходный размер изображения в его источнике и пере-
нося изображение в область канвы объекта. Верхний левый угол этой области
определяется параметрами Х и Y. Источник изображения может быть битовой
матрицей, пиктограммой или метафайлом. Если источник — объект типа TBit-
map. то перенос изображения производится в режиме, установленном свойством
канвы CopyMode.

Пример

Оператор

Imagel->Canvas->Draw(10,10, Bitmapl) ;

рисует на канве компонента Imagel изображение из компонента Bitmapl в об-
ласть с координатами левого верхнего угла (10, 10).

DrawFocusRect

Рисует изображение прямоугольника в виде, используемом для отображения
рамки фокуса, операцией хог

Класс TCanuas

Прототип

void _fastcall DrawFocusRect(const Windows::TRect &Rect);

Описание

Метод DrawFocusRect рисует на канве в области Rect изображение прямоуго-
льника в виде, используемом обычно для отображения рамки фокуса, т.е. точка-
ми. При рисовании используется операция хог, что позволяет удалить изображе-
ние прямоугольника его повторной прорисовкой.

Пример

Следующая совокупность обработчиков событий, связанных с мышью, рисует
на канве компонента Imagi прямоугольную рамку размером 10 на 10 вокруг кур-
сора и перетаскивает ее при перемещении мыши с нажатой кнопкой:

int XO.YO;

bool drag = false;

void   fastcall TFormI::ImagelMouseDown(TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y)
{
It рисование рамки

Imagel->Canvas->DrawFocusRect(Rect(X-5,Y-5.X+5,Y+5)) ;

// запоминание координат курсора

ХО = X;

YO = Y;

// включение флажка режима перемещения рамки

drag = true;

)

//———————————————————————

void _fastcall TFormI::ImagelMouseMove(TObject *Sender,

TShiftState Shift, int X, int Y)
{

iff!drag) return;

// стирание рамки