Программирование на Delphi 7


         

Так теперь выглядит главная форма примера GraphEx



Рисунок 10.1. Так теперь выглядит главная форма примера GraphEx


Где же найти ту канву, на которой предстоит рисовать? Во-первых, ею снабжены все потомки классов TGraphicControl и TCustomControl, т. е. почти все визуальные компоненты из Палитры компонентов; в том числе и форма. Во-вторых, канву имеет растровая картинка (класс TBitmap); вы можете писать и рисовать не на пустом месте, а на готовом изображении (об этом см. ниже в разд. "Класс TBitmap" данной главы). Но иногда нужно рисовать и прямо на экране. В этом случае придется прибегнуть к использованию функций API. Функция Getoc возвращает контекст устройства заданного окна, если ей передается параметр 0 — то всего экрана:

ScreenCanvas := TCanvas.Create; 

ScreenCanvas.Handle :=GetDC{0);

 // Рисование на ScreenCanvas

 ReleaseDC(0, ScreenCanvas.Handle);

 ScreenCanvas.Free;

Пример необходимости рисования на экране — программы сохранения экрана (Screen savers).

Когда и где следует рисовать? Этот вопрос далеко не риторический, как может показаться с первого взгляда.

Помимо графических примитивов, таких как линии и фигуры, на канве можно разместить готовые изображения. Для их описания создан класс TGraphic.

 



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