- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Описание языка PascalABC.NET - W Cat
Шрифт:
Интервал:
Закладка:
Возвращает высоту графического компонента в пикселах (по умолчанию совпадает с WindowHeight)
function GraphBoxLeft: integer;
Возвращает отступ графического компонента от левого края окна в пикселах
function GraphBoxTop: integer;
Возвращает отступ графического компонента от верхнего края окна в пикселах
function ScreenWidth: integer;
Возвращает ширину экрана в пикселях
function ScreenHeight: integer;
Возвращает высоту экрана в пикселях
Можно также изменять свойства графического окна через объект Window.
Класс GraphABCWindow графического окна
Класс GraphABCWindow представляет собой графическое окно. Функция
function Window: GraphABCWindow;
возвращает объект текущего графического окна.
Свойства класса GraphABCWindowproperty Left: integer;
Отступ графического окна от левого края экрана в пикселах
property Top: integer;
Отступ графического окна от верхнего края экрана в пикселах
property Width: integer;
Ширина клиентской части графического окна в пикселах
property Height: integer;
Высота клиентской части графического окна в пикселах
property Caption: string;
Заголовок графического окна
property Title: string;
Заголовок графического окна
property IsFixedSize: boolean;
Имеет ли графическое окно фиксированный размер
Методы класса GraphABCWindowprocedure Clear;
Очищает графическое окно белым цветом
procedure Clear(c: Color);
Очищает графическое окно цветом c
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 представляет тип системы координат для графического окна.
Свойства класса GraphABCCoordinateproperty 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 преобразований координат
Методы класса GraphABCCoordinateprocedure 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, если нажата правая кнопка мыши.
OnKeyDown: procedure (key: integer);
Событие нажатия клавиши. key - виртуальный код нажатой клавиши
OnKeyUp: procedure (key: integer);
Событие отжатия клавиши. key - виртуальный код отжатой клавиши
OnKeyPress: procedure (ch: char);
Событие нажатия символьной клавиши. ch - символ, генерируемый нажатой символьной клавишей
OnResize: procedure;
Событие изменения размера графического окна
OnClose: procedure;
Событие закрытия графического окна
Если переменной-событию присвоена некоторая процедура, она называется обработчиком данного события и автоматически вызывается при наступлении указанного события.

