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


          

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



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

Так теперь выглядит главная форма примера 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.

 



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