Что делать, если не хватает цветов из стандартной палитры?
В этом случае необходимо обратить внимание на процедуру рисования объекта на экране, т.е. на метод Draw. При отображении его можно заставить вывести вообще произвольный цвет.
Пример
Bkg:=(lo(GetColor(2)) and $F0) shr 4; {получаем цвет для фона}
MyColor:=Bkg*16+ColorAttr[1]; {назначаем свой цвет для отображения символов (палитра - не используется)}
Color:=MyColor;
MoveChar(B[CurCol],' ',Color,ColWidth); {переносим изображение в буфер (фон)}
MoveStr(B[CurCol+1],Text,Color); {переносим текст}
WriteLine(0, I, Size.X, 1, B); {выводим буфер}