Как получить цвет индикатора? - страница 2

 
Ihor Herasko:

Цвет Вы никак не получите. Признак цвета получаете на основании того значения, которое вернула функция iCustom. Если значение "непустое" (не EMPTY_VALUE), то цвет есть. Какой именно цвет, определяется индексом буфера, к которому обращаетесь. Так, в Вашем примере индекс буфера 0. Значит, Вы ожидаете, что будет зеленый цвет (если iCustom вернула непустое значение). Если обратиться к буферу с индексом 1, то ожидается красный цвет и т. д.

Само собой, цвета здесь условные, ведь пользователь может поменять цветовые настройки. Вы получаете лишь признак того, что значение отображено индикатором. Если нужен именно цвет, то делайте более изощренно (через шаблоны), как предлагает fxsaber. Но там уже работа с файлами.

В том то и дело что сам цвет не обязателен, 0 и 1 достаточно, но понять не могу как вытянуть именно 0 который относится к цвету, iCustom я так понимаю не один параметр возвращает.
 
ohr:
В том то и дело что сам цвет не обязателен, 0 и 1 достаточно, но понять не могу как вытянуть именно 0 который относится к цвету, iCustom я так понимаю не один параметр возвращает.

iCustom вернет только одно значение: 0 (или EMPTY_VALUE) - нет отображения этого буфера (т. е. и цвета нет), не ноль - есть отображение. Например:

Contrast_TF1_Green = iCustom(NULL, 0, "##Contrast-mtf", coeff, 0, 0);
if (Contract_TF1_Green != EMPTY_VALUE)
{
   // Отображен "зеленый" цвет
}

Contrast_TF1_Red = iCustom(NULL, 0, "##Contrast-mtf", coeff, 1, 0);
if (Contract_TF1_Red != EMPTY_VALUE)
{
   // Отображен "красный" цвет
}

 и т. д. для всех восьми буферов. Четные буфера - "зеленый" цвет, нечетные - "красный".