Класс Palette инкапсулирует палитру цветов Windows, которая
может использоваться с битовыми массивами и DIB. TPalette позволяет вам нестроить таблицу цветов, привести в соответствие отдельные цвета, поместить палитру в буфер обмена Clipboard и т.д.
Построить объект TPalette можно непосредственно, задав атрибуты палитры, или косвенно, задав TPalette& или указатель на
структуру LOGPALETTE. При непосредственном построении палитры
создается новый объект с заданными атрибутами.
При косвенном создании палитры новый объект также создается,
но атрибуты копируются из указанного объекта. Вы можете создать
объект TPalette и из существующего описателя HPALETTE.
Обращаться к объекту TPalette можно через HPALETTE или логическую структуру LOGPALETTE. Для получения HPALETTE из объекта
TPalette используйте операцию HPALETTE с объектом TPalette в качестве параметра. Операция HPALETTE явно почти никогда не вызывается.
Функция GetObject для TPalette функционирует аналогично
соответствующей функции API Windows. TPalette инкапсулирует также
стандартные функции API для работы с палитрами. Функция GetNearestPaletteIndex приводит цвет в соответствие с записью палитры.
Эта функция имеет единственный параметр (объект TColot) и возвращает индексный номер ближайшего цвета палитры. Функция GetNumEntries не имеет параметров и возвращает число записей в таблице цветов палитры.
Получить значения из диапазона записей таблицы цветов можно
с помощью функции GetPaletteEntries. Эта функция работает аналогично соответствующей функции API Windows. С помощью функции SetPaletteEntries вы можете задать значения в диапазоне записей таблицы цветов. Для изменения размера палитры используется функция
ResizePalette, в параметре которой задается размер новой палитры.
SetPalette устанавливает указанную индексом запись палитры соответственно значению объекту PALETTEENTRY. Эта функция работает
аналогично функции API Windows ResizePalette.
Функция AnimatePalette позволяет вам заменить записи в таблице цветов палитры. В третьем параметре этой функции задается