Действия с графическим окном

 

Procedure ClearWindow;

- очищает графическое окно.

Procedure Clear Window(c:ColorType);

- очищает графическое окно цветом c.

Function WindowWidth:integer;

- возвращает ширину графического окна.

Function WindowHeight:integer;

- возвращает высоту графического окна.

Function WindowLeft:integer;

- возвращает отступ графического окна от левого края экрана.

Function WindowTop:integer;

- возвращает отступ графического окна от верхнего края экрана.

Function WindowCaption:string;

- возвращает заголовок графического окна.

Procedure SetWindowWidth(w:integer);

- устанавливает ширину графического окна.

Procedure SetWindowHeight(n:integer);

- устанавливает высоту графического окна.

Procedure SetWindowLeft(I:integer);

- устанавливает отступ графического окна от левого края экрана.

Procedure SetWindowTop(t:integer);

- устанавливает отступ графического окна от верхнего края экрана.

Procedure SetWindowSize(w,h:integer);

- устанавливает размеры графического окна.

Procedure SetWindowPos(l,t:integer);

- устанавливает отступ графического окна от левого верхнего края экрана.

Procedure SetWindowCaption(s:string);

- устанавливает заголовок графического окна.

Procedure SetWindowTitle(s:string);

- устанавливает заголовок графического окна.

Procedure SaveWindow(fname:string);

- сохраняет графическое окно в файл с именем fname.

Procedure LoadWindow(fname:string);

- выводит графическое окно в файл с именем fname.

Procedure FillWindow(fname:string);

- заполняет графическое окно мозаикой из рисунка fname.

Procedure FillWindow(n:integer);

- заполняет графическое окно из рисунка с описаталем n.

Procedure CloseWindow;

- закрывает графическое окно.

Function ScreenWidth:integer;

- возвращает ширину экрана.

Function ScreenHeight:integer;

- возвращает высоту экрана.

Procedure CenterWindow;

- центрирует графическое окно по центру экрана.

Procedure MaximizeWindow;

- максимизирует размер графического окна.

Procedure NormalizeWindow;

- устанавливает размер графического окна по умолчанию.

 

Задание режимов вывода

 

 

Procedure SetDrawingSurface(n:integer);

- устанавливает в качестве конвы для рисования рисунок с описаталем n.

Procedure SetDrawingSurface(r:picture);

- устанавливает в качестве конвы для рисования рисунок типа picture.

Procedure RestoreDrawingSurface;

- устанавливает в качестве конвы для рисования графическое окно.

Procedure Redraw;

- осуществляет перерисовку окна вывода при заблокированном графическом окне.

Procedure LockDrawing;

- блокирует вывод в графическое окно.

Procedure UnlockDrawing;

- снимает блокировку с графического окна.

Procedure LockScreenBuffer;

- блокирует вывод во внеэкранный буфер.

Procedure UnlockScreenBuffer;

- снимает блокировку с внеэкранного буфера.

Function DrawingIsLocked:Boolean;

- определяет, заблокировано ли графическое окно.

Procedure SetRedrawProc(procedure RedrawProc);

- устанавливает пользовательскую процедуру для перерисовки содержимого графического окна.

 

Создание модулей.

Модули предназначены для разбиения текста программы на несколько файлов. В модулях описываются переменные, константы, типы, классы, процедуры и функции. Для того чтобы эти объекты можно было использовать в вызывающем модуле (которым может быть и основная программа), следует указать имя файла модуля (без расширения .pas) в разделе uses вызывающего модуля. Файл модуля (.pas) или откомпилированный файл модуля (.pcu) должен находиться либо в том же каталоге, что и основная программа, либо в подкаталоге Lib системного каталога программы PascalABC.NET.

Модуль имеет следующую структуру:

unit имя модуля;

Interface

раздел интерфейса

Implementation

раздел реализации

Initialization

раздел инициализации

Finalization

раздел финализации

end.

Имеется также упрощенный синтаксис модулей без разделов интерфейса и реализации.

Первая строка обязательна и называется заголовком модуля. Имя модуля должно совпадать с именем файла.

Раздел интерфейса и раздел реализации модуля могут начинаться с раздела uses подключения внешних модулей и пространств имен .NET. Имена в двух разделах uses не должны пересекаться.

Раздел интерфейса включает объявление всех имен, которые экспортируются данным модулем в другие модули (при подключении его в разделе uses). Это могут быть константы, переменные, процедуры, функции, классы, интерфейсы. Реализация методов классов может быть дана прямо в разделе интерфейса, но это не рекомендуется.

Раздел реализации содержит реализацию всех процедур, функций и методов, объявленных в разделе интерфейса. Кроме этого, в разделе реализации могут быть описания внутренних имен, которые не видны вне модуля и используются лишь как вспомогательные.

Раздел инициализации и раздел финализации представляют собой последовательность операторов, разделяемых символом ;. Операторы из раздела инициализации модуля выполняются до начала основной программы, операторы из раздела финализации модуля - после окончания основной программы. Порядок выполнения разделов инициализации и разделов финализации подключенных модулей непредсказуем. Как раздел инициализации, так и раздел финализации могут отсутствовать.