SetColor - перекрасить ячейку

Страницы: 1
RSS
SetColor - перекрасить ячейку
 
Создаю таблицу, добавляю одну строку.
Код
InsertRow(t_id, 1)
SetColor(t_id, 1, 1, RGB(0, 255, 0), RGB(0, 0, 0), RGB(0, 255, 0), RGB(0, 0, 0)) --Ячейка(1,1) стала зеленой
SetColor(t_id, 1, QTABLE_NO_INDEX, RGB(220, 220, 220), RGB(0, 0, 0), RGB(220, 220, 220), RGB(0, 0, 0)) --Ожидаю, что вся строка станет серой
Ячейку(1,1) закрашиваю зеленым цветом. Затем пытаюсь закрасить всю строку серым цветом. Но этого не происходит. Первая ячейка по-прежнему остается зеленой, серыми становятся только все остальные ячейки в строке. Пробовал QUIK 7 и 8. Не могу понять, почему SetColor не перекрашивает строку целиком. Прошу подсказки.
 
Цитата
Александр написал:
Создаю таблицу, добавляю одну строку.
Код
   InsertRow (t_id,  1 )
 SetColor (t_id,  1 ,  1 ,  RGB ( 0 ,  255 ,  0 ),  RGB ( 0 ,  0 ,  0 ),  RGB ( 0 ,  255 ,  0 ),  RGB ( 0 ,  0 ,  0 ))  --Ячейка(1,1) стала зеленой 
 SetColor (t_id,  1 , QTABLE_NO_INDEX,  RGB ( 220 ,  220 ,  220 ),  RGB ( 0 ,  0 ,  0 ),  RGB ( 220 ,  220 ,  220 ),  RGB ( 0 ,  0 ,  0 ))  --Ожидаю, что вся строка станет серой   
Ячейку(1,1) закрашиваю зеленым цветом. Затем пытаюсь закрасить всю строку серым цветом. Но этого не происходит. Первая ячейка по-прежнему остается зеленой, серыми становятся только все остальные ячейки в строке. Пробовал QUIK 7 и 8. Не могу понять, почему SetColor не перекрашивает строку целиком. Прошу подсказки.
Добрый день.

Проверьте, какая именно версия у Вас, должна быть 8.1, так как в этой версии были исправлены проблемы с работой с цветами LUA.
 
Только что скачал последнюю версию QUIK Junior 8.1.0.30. Установил в новую папку. По-прежнему SetColor не закрашивает всю строку серым цветом. Ячейка(1,1) остается зеленой.
Привожу код целиком:
Код
is_run = true
t_id = 0

function OnInit()
   t_id = AllocTable()
   AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE, 20)
   AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 20)
   CreateWindow(t_id)
end

function OnStop()
   DestroyTable(t_id)
   is_run = false
end

function main()
   InsertRow(t_id, 1)
   SetColor(t_id, 1, 1, RGB(0, 255, 0), RGB(0, 0, 0), RGB(0, 255, 0), RGB(0, 0, 0))
   SetColor(t_id, 1, QTABLE_NO_INDEX, RGB(220, 220, 220), RGB(0, 0, 0), RGB(220, 220, 220), RGB(0, 0, 0))
   
   while is_run do
      sleep(100)
   end
end
 
Цитата
Александр написал:
Только что скачал последнюю версию QUIK Junior 8.1.0.30. Установил в новую папку. По-прежнему SetColor не закрашивает всю строку серым цветом. Ячейка(1,1) остается зеленой.
Привожу код целиком:
Код
  is_run  =   true 
t_id  =   0 

 function   OnInit ()
   t_id  =   AllocTable ()
    AddColumn (t_id,  1 ,  "1" ,  true , QTABLE_STRING_TYPE,  20 )
    AddColumn (t_id,  2 ,  "2" ,  true , QTABLE_STRING_TYPE,  20 )
    CreateWindow (t_id)
 end 

 function   OnStop ()
    DestroyTable (t_id)
   is_run  =   false 
 end 

 function   main ()
    InsertRow (t_id,  1 )
    SetColor (t_id,  1 ,  1 ,  RGB ( 0 ,  255 ,  0 ),  RGB ( 0 ,  0 ,  0 ),  RGB ( 0 ,  255 ,  0 ),  RGB ( 0 ,  0 ,  0 ))
    SetColor (t_id,  1 , QTABLE_NO_INDEX,  RGB ( 220 ,  220 ,  220 ),  RGB ( 0 ,  0 ,  0 ),  RGB ( 220 ,  220 ,  220 ),  RGB ( 0 ,  0 ,  0 ))
   
    while  is_run  do 
       sleep ( 100 )
    end 
 end   
Здравствуйте!

Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
 
Здравствуйте, Александр.

Данное поведение является корректным: приоритет цвета конкретной ячейки выше, чем у цвета ряда целиком. Поэтому, если для конкретной ячейки задан цвет, для рисования будет использован именно он.
Страницы: 1
Читают тему
Наверх