Турбо Паскаль 6.0

Внутри палитры цветов.


Элементы палитры - это индексы в палитру владельца, а не сами цвета. Если скроллер вставлен в окно, Вы получите нормальный текст, вызывая скроллер с нормальным цветом текста в палитре скроллера, который содержит номер 6. Чтобы преобразовать это в цвет, Вы должны найти 6 элемент в палитре владельца. Рис. 4.19. показывает палитру TWindow:

Рис. 4.19. Отображение палитры скроллера в палитру окна.

+----------------------------- Рамка пассивна | +------------------------- Рамка активна | | +--------------------- Кнопка рамки | | | +----------------- Страница скроллера | | | | +------------- Элемент управления скроллера | | | | | +--------- Нормальный текст скроллера | | | | | | +----- Выбранный текст скроллера | | | | | | | +- Зарезервировано | | | | | | | | 1 2 3 4 5 6 7 8 +---+---+---+---+---+---+---+---+ | 8 | 9 | 10| 11| 12| 13| 14| 15| CBlueWindow +---+---+---+---+---+-+-+---+---+ +-------------------+ +-+-+---+ | 6 | 7 | CScroller +---+---+ | | | +----------------------- Подсвеченный текст +--------------------------- Нормальный текст

6 элемент в палитре TWindow равен 13, это индекс в палитре владельца окна (панели экрана), который преобразуется в индекс в палитру его владельца - программы. TDeskTop имеет палитру nil, что означает, что он не изменяет ничего. Вы можете думать об этом как о "прямой" палитре с первым элементом с номером 1, вторым - с номером 2 и т.д. Программа, которая имеет палитру, содержит значения для всех элементов, которые Вы можете вставить в Turbo Vision. Ее 13 элемент - это $1. Программа - это последяя точка (она не имеет владельца), поэтому отображение останавливается здесь. Сейчас Вы получили $1, что соответствует цвету фона 1 и цвету символа $Е (или 14), что создает желтый символ на синем фоне. И опять, не думайте об этом в терминах желтый-на-синем, а скорее скажите, что Вы хотите, чтобы Ваш текст отображался нормальным цветом для текста окна. Не думайте о палитре как о цветах, это тип характеристик для отображения.



Содержание раздела