
- •Общая форма приложения
- •Использование компонента Rave для построения отчета
- •Создание сложного отчета
- •Создание сложного отчета (повторение)
- •Создание файла помощи
- •Создание установочного файла
- •Создание однодокументного приложения
- •Окна сообщений и диалоговые окна (модальные формы)
- •Массивы. Компонент Memo.
- •Использование компонентов Memo и ListBox
- •Одномерные массивы
- •Многомерные массивы
- •Реализация интерфейса с использованием графики
- •Дополнительные возможности с Формой
- •Шаблоны
- •Мультипликация
- •Мультипликация. Возможности Delphi
- •Многоугольники
Реализация интерфейса с использованием графики
Поддержка графики в windows
Вывод графической информации в Delphi
Методы вычеркивания графических примитивов
Для того, чтобы вывести на поверхность объекта графический элемент, необходимо применить к свойству Canvas данного объекта соответствующий метод.
Поверхности, на которые программа может выводить графику, соответствует свойство canvas, которое в свою очередь является объектом типа TCanvas.
Методы, обеспечивающие вычеркивание на поверхности холста графические примитивы, используют карандаш и кисть.
Карандаш (pen) применяется для вычеркивания линий и контуров.
Кисть (brush) применяется для закрашивания областей ограниченных контурами.
Color – цвет линии
Wirth – толщина линии
Style – вид линии
Mode – режим отображения
Свойства Type объекта pen:
psSolid – сплошная линия
psDash – пунктирная линия, длинные штрихи
psDot – пунктирная линия, короткие штрихи
psDashDot – пунктирная линия, чередование длинного и короткого штриха
psDashDotDot – пунктирная линия, чередование 1 длинный – 2 коротких
psClear – линия не отображается
Свойство Mode определяет, как будет формироваться цвет точек линии в зависимости от цвета точек холста, по умолчанию вся линия вычерчивается цветом, определяемая значением свойства pen.color.
Однако, программист может задать инверсный цвет линий по отношению к цвету фона, независимо от цвета фона, все указанные линии будут видны.
Значение свойства Mode объекта TPen:
pmBlack – цвет линии черный, независимо от значения Pen.Color
pmWhite – цвет линии белый, независимо от значения Pen.Color
pmCopy – цвет линии определяется значением Pen.Color
pmNotCopy – цвет линии инверсный, по отношению от значения Pen.Color
pmNot – цвет точки линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии.
Кисть обладает двумя свойствами: Color and Style.
Значение свойства Style объекта TBrush:
bsSolid – сплошная заливка
bsClear – область не закрашивается
bsHorizontal – горизонтальная штриховка
bsVertical – вертикальная штриховка
bsFDiagonal – диагональная штриховка с наклоном вперед
bsBDiagonal – диагональная штриховка с наклоном назад
bsCross – горизонтально-вертикальная штриховка, в клетку
bsDiagCross – диагональная штриховка в клетку
Методы вычеркивания графических примитивов
Линия – LineTo (x, y)
Метод LineTo вычеркивает прямую линию от текущей позиции карандаша, в точку с координатами указанными при вызове метода, начальная точка указывается при помощи метода MoveTo.
Окружность и эллипс – Ellipse(x1, y1; x2, y2)
Метод Ellipse вычеркивает эллипс или окружность, в зависимости от значения параметров.
Дуга – Arc (x1, y1, x2, y2, x3, y3, x4, x4)
Прямоугольник – Rectangle (x1, y1, x2, y2)
RoundRec (x1, y1, x2, y2, x3, y3) – прямоугольник с округлыми сторонами
Пример 1:
Canvas.pen.color:=clred;
With form1.canvas do
Begin
Canvas.pen.width:=2;
Moveto(10;10);lineto(50;100);
Moveto(50;100);lineto(100;150);
Moveto(100;150);lineto(100;200);
Moveto(100;200);lineto(200;150);
Moveto(200;150);lineto(10;10);
End;
Пример 2: Вывести в окно формы два прямоугольника, закрашенных разными стилями.
Var
X,y: integer;
W,h: integer;
X1,y1: integer;
W1,h1: integer;
Begin
W:=100;
H:=100;
Y:=50;
X:=50;
Canvas.brush.color:=clred;
Canvas.brush.style:=bsconlid;
Canvas.rectangle(x,y,x+w,y+h);
Canvas.brush.style:=bsclear;
W1:=50;
H1:=100;
Y1:=160;
X1:=110;
Canvas.brush.color:=clgreen;
Canvas.brush.style:=bscross;
Canvas.rectangle(x1,y1,x1+w1,y1+h1);
Canvas.brush.style:=bsclear;
End;