164______________________________________________Глава 3

Кроме того, отображать и вводить графическую информацию можно на повер-
хности любого оконного компонента, имеющего свойство Canvas.

Компоненты Image и PaintBox позволяют отображать графические файлы
разных типов, редактировать их, дают возможность пользователю приложения са-
мому рисовать картинки, позволяют создавать мультипликации. Все эти возмож-
ности подробно рассмотрены в главе 5. Там же рассматриваются вопросы рисова-
ния на канве Canvas.

Компонент DrawGrid используется для создания в приложении таблицы, ко-
торая может содержать как текст, так и графические изображения. Этот компо-
нент подобен компоненту StringGrid (см. раздел 3.2.6), поскольку последний яв-
ляется производным от DrawGrid. Поэтому в DrawGrid присутствуют все свойства,
методы, события компонента StringGrid, кроме относящихся к тексту, т.е. кроме
свойств Cells, Cols, Rows, Objects. Кроме того обратим внимание еще на некоторые
свойства, которые ранее не рассматривались, поскольку они не относились к изоб-
ражению текста.

Компонент DrawGrid имеет канву Canvas, на которой можно размещать изоб-
ражения методами, изложенными в главе 5. Имеется метод CelLRect, который воз-
вращает область канвы, отведенную под заданную ячейку. Этот метод определен
как

Windows::TRect _fastcall CellRect(int ACol, int ARow);

где ACol и ARow — индексы столбца и строки, начинающиеся с 0, на пересечении
которых расположена ячейка. Возвращаемая этой функцией область является об-
ластью канвы, в которой можно рисовать необходимое изображение. Например,
оператор

DrawGridl->Canvas->CopyRect(DrawGridl->CeilRect(1,1), BitMap->Canvas,
Rect(0,0,BitMap->Height,BitMap->Width));

копирует в ячейку (1,1) изображение из компонента BitMap типа Graphics::TBit-

map*. Эта ячейка является второй слева и второй сверху в таблице, поскольку ин-
дексы начинаются с 0.

Теперь остановимся на компоненте Shape. Этот компонент только условно мо-
жет быть отнесен к средствам отображения графической информации, поскольку
просто представляет собой различные геометрические фигуры, соответствующим
образом заштрихованные. Основное свойство этого компонента — Shape (форма),
которое может принимать значения:

stRectangle  прямоугольник          stSquare       квадрат

stRoundRect прямоугольник со скруг- stRoundSquare квадрат со скруглен-
ленными углами                       ными углами

stEllipse      эллипс                   stCircle         круг

Примеры этих форм показаны на рис. 3.13.

Другое существенное свойство компонента — Brush (кисть). Это свойство яв-
ляется объектом типа TBrush, имеющим ряд подсвойств, в частности: цвет
(Brush->Color) и стиль (Brush->Style) заливки фигуры. Заливку при некоторых
значениях Style вы можете видеть на рис. 3.13. Третье из специфических свойство
компонента Shape — Pen (перо), определяющее стиль линий. Это свойство, как и
свойство Brush, подробно рассмотрено в главе 5.

Теперь рассмотрим компонент Chart. Этот компонент позволяет строить раз-
личные диаграммы и графики, которые выглядят очень эффектно (рис. 3.14). Ком-
понент Chart имеет множество свойств, методов, событий, так что если все их рас-