Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Makewindow/11

makewindow(WindowNo,ScrAtt,FrAtt,Heeading,Row,Column,

Height,Width,ClearWindow,FrameStrPos,BorderChars)

/*(i,i,i,i,i,i,i,i,i,i,i) (o,o,o,o,o,o,o,o,o,o,o)*/

Расширенная форма предиката makewindow обладает некоторыми дополни-

тельными способностями. Окно не нуждается в очистке при создании, что да-

ет вам простой способ захватывать окна резидентными программами. Вы може-

те указать позицию, где появится заголовок, а также указать какие симво-

лы, будут использоваться для рамки окна. Эти три добавочных аргумента к

makewindow предназначены для следующего:

ClearWindow определяет, очищать ли окно.

=0 окно не очищать.Есть возможность применения

функции захвата

=1 окно очистить.

HeaderPos определяет положение заголовка

=255 положение в центре

<>255 располагает заголовок в данной позиции

BorderChars определяет как рисовать рамку.

1 символ: верхний левый угол;

2 символ: верхний правый угол;

3 символ: нижний левый угол;

4 символ: нижний правый угол;

5 символ: горизонтальная линия;

6 символ: вертикальная линия.

Например,

"\218\191\192\217\196\179" определяет рамку из одной линии;

"\201\187\200\188\205\186" определяет рамку из двух линий;

"++++-[" определяет другую рамку

Existwindow/1

Предикат проверяет было ли создано такое окно на экране, и имеет

формат:

existwindow(WindowNo) /* i */

existwindow завершается неудачно, если не определено окно с номером

WindowNo.

Gotowindow/1

Предикат делает другое окно текущим. Он имеет формат:

gotowindow(WindowNo) /* i */

gotowindow не сохраняет содержимое старого окна, и не обновляет со-

держимое нового окна из его буфера.

Так как предикат gotowindow не обращается к буферу, то он осуществ-

ляет очень быстрый переход от одного окна к другому, если они не перекры-

ваются. Этот предикат также позволяет одному окну оставаться на экране,

пока происходит переход к другому окну за ним. Будьте осторожны пользуясь

комбинацией gotowindow и removewindow! Это может привести к непредсказуе-

мым результатам.

Removewindow/2

Основная задача предиката - удаление окна (которому не обязательно

быть текущим сейчас) без обновления экрана.

removewindow(Window,Refresh)

Значение Refresh может быть 0 или 1.

removewindow(Window,0)

removewindow(Window,1)

Refresh = 0 обновление не происходит

Refresh = 1 обновление происходит

Resizewindow/0

Обращение к этому предикату дает возможность пользователю изменить

размеры окна, пользуясь клавишами управления курсором, аналогично тому,

как это делается при изменении размера окон при работе в среде Турбо Про-

лога.

Resizewindow/4

Обращение к предикату в таком виде приведет к изменению местоположе-

ния и размера окна:

Resizewindow(StartRow,StartCol,Nofows,NoOfCols) /*(i,i,i)*/

при этом StartRow и StartCol задает новое положение верхнего левого угла

окна, а переменные NoOfRows и NoOfCols дают его новые размеры.

Соседние файлы в папке Документация