procedure SetSize(w,h: integer);
Устанавливает размеры клиентской части графического окна в пикселах
procedure SetPos(l,t: integer);
Устанавливает отступ графического окна от левого верхнего края экрана в пикселах
procedure Init(Left,Top,Width,Height: integer; BackColor: Color := clWhite);
Устанавливает положение, размеры и цвет графического окна
procedure Save(fname: string);
Сохраняет содержимое графического окна в файл с именем fname
procedure Load(fname: string);
Восстанавливает содержимое графического окна из файла с именем fname
procedure Fill(fname: string);
Заполняет содержимое графического окна обоями из файла с именем fname
procedure Close;
Закрывает графическое окно и завершает приложение
procedure Minimize;
Сворачивает графическое окно
procedure Maximize;
Максимизирует графическое окно
procedure Normalize;
Возвращает графическое окно к нормальному размеру
procedure CenterOnScreen;
Центрирует графическое окно по центру экрана
function Center: Point;
Возвращает центр графического окна
Кроме того, можно изменять свойства графического окна, используя соответствующие процедуры и функции.
Подпрограммы для работы с координатами графического окна
Доступ к свойствам координат графического окна можно осуществлять как в процедурном, так и в объектно-ориентированном стиле.
Процедуры и функции для изменения системы координат окна приведены ниже:
|
procedure SetCoordinateOrigin(x0,y0: integer); Устанавливает начало координат в точку (x0,y0) |
|
procedure SetCoordinateScale(sx,sy: real); Устанавливает масштаб системы координат |
|
procedure SetCoordinateAngle(a: real); Устанавливает поворот системы координат |
Можно также изменять свойства системы координат графического окна через объект Coordinate.
Класс GraphABCCoordinate графического окна
Объект текущей системы координат возвращается функцией Coordinate и имеет тип GraphABCCoordinate:
function Coordinate: GraphABCCoordinate;
Класс GraphABCCoordinate представляет тип системы координат для графического окна.
|
property OriginX: integer; X-координата начала координат относительно левого верхнего угла окна |
|
property OriginY: integer; Y-координата начала координат относительно левого верхнего угла окна |
|
property Origin: Point; Координаты начала координат относительно левого верхнего угла окна |
|
property Angle: real; Угол поворота системы координат |
|
property ScaleX: real; Масштаб системы координат по оси X |
|
property ScaleY: real; Масштаб системы координат по оси Y |
|
property Scale: real; Масштаб системы координат по обоим осям |
|
property Matrix: System.Drawing.Drawing2D.Matrix; Матрица 3x3 преобразований координат |
|
procedure SetTransform(x0,y0,angle,sx,sy: real); Устанавливает параметры системы координат |
|
procedure SetOrigin(x0,y0: integer); Устанавливает начало системы координат |
|
procedure SetScale(sx,sy: real); Устанавливает масштаб системы координат |
|
procedure SetScale(scale: real); Устанавливает масштаб системы координат |
|
procedure SetMathematic; Устанавливает правую систему координат (ось OY направлена вверх, ось OX - вправо) |
|
procedure SetStandard; Устанавливает левую систему координат (ось OY направлена вниз, ось OX - вправо) |
Кроме того, можно изменять свойства системы координат, используя соответствующие процедуры и функции.
Подпрограммы блокировки рисования
procedure Redraw;
|
Перерисовывает содержимое графического окна. Вызывается в паре с LockDrawing |
|
procedure LockDrawing; Блокирует рисование на графическом окне. Перерисовка графического окна выполняется с помощью Redraw |
|
procedure UnlockDrawing; Снимает блокировку рисования на графическом окне и осуществляет его перерисовку |
Блокировка вывода в графическое окно LockDrawing с последующим вызовом Redraw используется для простейшего создания анимации без мерцания.
Пример. Анимация без мерцания
Подпрограммы режимов рисования
procedure SetSmoothing(sm: boolean);
|
Устанавливает режим сглаживания |
|
procedure SetSmoothingOn; Включает режим сглаживания |
|
procedure SetSmoothingOff; Выключает режим сглаживания |
|
function SmoothingIsOn: boolean; Возвращает True, если режим сглаживания установлен |
|
procedure SetCoordinateOrigin(x0,y0: integer); Устанавливает начало координат в точку (x0,y0) |
События модуля GraphABC
Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна. Данные события определены в модуле GraphABC и представляют собой процедурные переменные:
|
OnMouseDown: procedure (x,y,mousebutton: integer); Событие нажатия на кнопку мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши |
|
OnMouseUp: procedure (x,y,mousebutton: integer); Событие отжатия кнопки мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если отжата левая кнопка мыши, и 2, если отжата правая кнопка мыши |
|
OnMouseMove: procedure (x,y,mousebutton: integer); Событие перемещения мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. |