активизация перекрытого окна может быть
сохранять в переменной с целью последующей активизации требуемого
окна. Например, активизация перекрытого окна может быть произведена
так:
WMODE(.T., .T., .T., .T.) // Разрешение перекрытия
nWindow1 := WOPEN(....)
nWindow2 := WOPEN(....) // Это активное окно
WSELECT(nWindow1) // Активизация первого окна
. Координаты, используемые при выводе, относятся только к
активному окну, а не к экрану в целом:
nWindow1 := WOPEN(....) // Активное окно
@ 02, 02 SAY "Clipper Tools II/5.0"
. Поскольку окно ведет себя как обычный экран, то для
выводимого функцией QOUT() (?, ?? и т.д.) изображения по достижении
последней строки начинает осуществляться скролинг.
. В следующем примере информация, выводимая в окно,
занимающее верхнюю часть экрана до строки 24 включительно,
не перекроет HELP-сообщение в строке 25:
@ 25, 00 SAY "..... HELP-сообщение ....."
nWindow1 := WOPEN(0, 0, 24, 79) // Последняя строка экрана защищена
FOR nI = 1 TO 100
? "Clipper Tools II/5.0"
NEXT nI
. Каждое окно поддерживается как полноценный, но виртуальный
экран, отличающийся от физического только размером. В главе
"CT II-драйверы" описаны функции MAXROW() и MAXCOL(), расширяющие
возможности аналогичных функций Clipper 5.0 и поддерживающие
возможность задания размеров виртуального экрана. Эти функции
возвращают позицию последней строки и последнего столбца текущего
выбранного окна:
nWindow1 := WOPEN(10, 10, 20, 60)
? MAXROW() // Строка: 10
? MAXCOL() // Столбец: 50
. При открытии и перемещении окна перекрываемая им область
экрана автоматически сохраняется. Одновременно сохраняются и все
установки, которые были сделаны для этой области, в том числе, вид и