EditorColor

Структура EditorColor используется в функции EditorControl для того, чтобы установить или получить информацию о цветовых областях строк во внутреннем редакторе.
struct EditorColor
{
  int StringNumber;
  int ColorItem;
  int StartPos;
  int EndPos;
  int Color;
};

Элементы

StringNumber
Номер строки для обработки или -1, если для текущей строки.
ColorItem
Номер цветовой области, о которой вы хотите получить информацию. Строка может содержать несколько цветовых областей. Установите ColorItem равным 0 для получения информации о первой цветовой области, 1 - о второй и т.д.
Это поле не используется в ECTL_ADDCOLOR. Новый цвет всегда применяется ко всей области от StartPos до EndPos, независимо от существовавших там ранее различных цветовых областей.
StartPos, EndPos
Область строки для установки цвета.
Входной параметр для ECTL_ADDCOLOR и выходной для ECTL_GETCOLOR.
Color
Установленный или устанавливаемый цвет.
Входной параметр для ECTL_ADDCOLOR и выходной для ECTL_GETCOLOR.
Если Color равен 0, то ECTL_ADDCOLOR вместо установки новой цветовой области удалит все существующие цветовые области, начиная со StartPos. Если Color равен 0 и StartPos равен -1 все цветовые области данной строки будут удалены.

Начиная с build 1957 FAR раскрашивает символ табуляции на всю длину, на которую расширяется табуляция. Если необходимо, чтобы символ табуляции для цветовой области занимал 1 знакоместо, то для элемента Color, в дополнении к цвету, необходимо выставить флаг ECF_TAB1 (перечисление EDITORCOLORFLAGS):
ФлагОписание
ECF_TAB1 Если в диапазоне цветовой области встречается символ табуляции, то раскрасить его как 1 символ.

Замечания

На самом деле удаление только части цветовых областей имеет очень мало смысла и практически не используется. Но зачищать всю строку необходимо, так как иначе цветовые области будут все накапливаться, а память все увеличиваться.

Через параметр Color вы можете задать и цвет фона. Более того, вне зависимости от длины строки вы можете установить область начиная с первой видимой позиции и кончая самой правой - при этом вы как бы замените цвет фона в редакторе. Хотя этот метод не сработает на файлах, у которых число строк меньше размера экрана :(

Смотрите также:
структуры | TEditorColor