Иллюстрированный самоучитель по Tirbo Pascal



Цветовая палитра - часть 2


Constructor TInterior.Init(var Bounds: TRect;

HS,VS: PScrollBar); 

{Создает окно для данных} 

begin

Inherited Init(Bounds, HS, VS) ;

ReadFile;

GrowMode := gfGrowHiX + gfGrowHiY;

SetLimit(LLine,NLines) 

end; {Tinterior.Init}

Объект TScroller имеет поле GrowMode, которое определяет, как элемент будет изменять свои размеры, если пользователь потребует этого. Параметр gfGrowHiX предписывает окну TScroller изменяться таким образом, чтобы правая его граница всегда находилась на постоянном расстоянии от правой границы владельца. Точно также gfGrowHiY задает неизменным расстояние нижней границы окна TScroller от нижней границы владельца. Таким образом, окно TScroller всегда будет занимать всю внутреннюю часть окна-владельца TWindow. С помощью процедуры SetLimit (X, Y) мы задаем горизонтальную Х и вертикальную У границы перемещения окна относительно текста. Эти границы будут выдерживаться при управлении окном с помощью клавишей или мыши: какими бы не были текущие размеры окна, нажатие на клавишу End, например, смещает его вправо так, чтобы самым правым видимым символом был Х-й символ текста. Нажатие на клавиши Ctrl-PgDn смещает окно вниз по тексту таким образом, чтобы самая нижняя строка окна соответствовала Y-й строке текста. Иными словами, параметры X и Y задают координаты правого нижнего угла виртуального (воображаемого) экрана неограниченных размеров, на котором находится текст и по которому «скользит» окно. Левый верхний угол виртуального экрана всегда имеет координаты (0,0).

Осталось отредактировать конструктор TWorkWinJnit: нужно изменить тип переменной Interior

var

.......

Interior: PInterior; 

и обращение к конструктору:

Interior := New(PInterior, Init(Bounds, HS, VS));

Но не спешите запускать программу на счет: ведь файла данных пока еще нет, а поэтому Вы ничего не увидите на экране. Чтобы все-таки оценить достигнутые результаты, измените текст процедуры ReadFile - добавьте в него следующие строки:

Procedure TInterior.ReadFile; 




Содержание  Назад  Вперед