Базовый объект TObj функционально заменяет собой класс TObject
из VCL. Он имеет похожий метод Free ,
который позволяет уничтожать объекты безопасно (игнорируя вызов
для указателя nil ), атак же пару
методов RefInc и RefDec
, позволяющих предотвратить удаление объекта из
памяти между двумя соответствующими вызовами RefInc и
RefDec .
Очень полезный объект TList
("конструктор": NewList :PList
). Подобно TList вVCL, позволяет хранить
указатели на любые данные (или числа).
Невизуальный объектный тип TTree
для организации дерево-подобных
структур данных впамяти.
Объектный тип TGraphicTool
реализует всебе GDI иснструменты -кисточку (
NewBrush ), шрифт (
NewFont ) икарандаш ( NewPen
), без введения трех различных
потомков. Бо ' льшая часть кода
включается вконечную программу только вслучае,
если впроекте имеются обращения ксвойствам
Font , Brush
объектов TControl , или объекты
типа TGraphicTool создаются
явным образом.
Объект TCanvas , очень похожий
на TCanvas из VCL (но более компактный
иэффективный). Для рисования на существующем DC,
имеется конструктор: NewCanvas
( DC ): PCanvas
TBitmap
, также напоминает TBitmap из
VCL. Конструкторы:
Главный объект библиотеки KOL -это
TControl . Он может выполнять роль
любого визуального контрола взависимости от
того, какой "конструктор" использован для его
создания. Имеются следующие "конструкторы",
точнее, глобальные функции конструирования
(синтаксис намеренно видоизменен):
NewApplet
( Caption:
String ): PControl
(примечание: вKOL необязателен.
Вслучае единственной формы, для
которой не требуется прятать
кнопку приложения на панели
задач, достаточно создать форму)
.
Невизуальный TMediaPlayer .
NewMediaPlayer ( FileName,
Window ): PMediaPlayer (Имеется ряд дополнительных функций для
проигрывания звуковых wave-файлов из памяти,
потока, файла или ресурса иконтроля
wave-выводом).
Поддержка вращающихся
шрифтов - вLabelEffect,
вTCanvas. Автоматически -по
изменению свойства
Font.Orientation
Поддержка геометрического
карандаша (pen) в
TGraphicTool . Атакже
свойство FontWeight
для желаемого
утолщения шрифтов средствами ОС.
Поддержка двойной
буферизации вывода
(необходима вLabelEffect).
Необходима установка для
визуального объекта свойства DoubleBuffered в True (наследуется
дочерними контролами)
Свойство Transparent
(прозрачность,
неявно использует
DoubleBuffered ).
Свойство AlphaBlend
позволяет сделать
форму/контрол полу-прозрачными
(только Win2K).
Свойство Align, позволяющее
выравнивать контролы так же, как
ив VCL. имеется дополнительный
"сквозной" метод
SetAlign ,
упрощающий начальную настройку
контролов.
Метод
PreventResizeFlicks позволяет ликвидировать
большинство мельканий
изображения при изменении
размеров формы иперемещении
сплиттера -в случае применения
выравнивания спомощью свойства
Align
. Особенно эффективно совместно
с DoubleBuffered
= True.
Окно статуса (status bar),
встраиваемое вформу (при
использовании свойств StatusText [ ],
SimpleStatusText ,
ит.п.).
События OnMouseOver
/
OnMouseLeave .
Возможность любых внешних
расширений оконных процедур
имеющихся контролов спомощью
метода AttachProc
(собственно, на
нем построен весь K.O.L.)
Добавлен набор зеркальных классов MCK (Mirror
Classes Kit), который позволяет перейти
квизуальному программированию сиспользованием
библиотеки KOL.