При открытии окна условного форматирования для ячеек по умолчанию выставлены параметры "белый фон, чёрный текст". В таблице скрипта часто(почти всегда) возникает необходимость выделить цветом или размером шрифта какую-либо ячейку(ки). Причём цветовые установки скрипта не имеют приоритет над форматированием.. я уж не говорю про возможность задать размер шрифта ячеек в скрипте.. В 25-й версии приходится ежедневно в каждой таблице вначале выставлять "Нет цвета", а потом цвет и размер текста...Иначе - белый фон, чёрный текст!.... Утомительно..
При форматировании штатных таблиц Квика нет разницы что там установлено по умолчанию, а при работе со скриптами, как выяснилось, есть.. Прошерстил настройки, ничего не нашёл..
В предыдущей версии ( не помню уж какая там.. из последних..) таких заморочек не было..
function Green(Line, Col) SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255)); end; -- Зеленый
function Red(Line, Col) SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255)); end; -- Красный
t_id = AllocTable(); -- Получает доступный id для создания таблицы
AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
t = CreateWindow(t_id); -- Создает таблицу
for i = 1, 4, 1 do InsertRow(t_id, i); -- end
if i <3 then
for n = 0, 2, 1 do SetCell(t_id, i, n, " 621"); Green(i,n) end
else
for n = 0, 2, 1 do SetCell(t_id, i, n, " up"); Red(i, n); end
end
end
function Green(Line, Col) SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255)); end; -- Зеленый
function Red(Line, Col) SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255)); end; -- Красный
t_id = AllocTable();
AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
t = CreateWindow(t_id);
for i = 1, 4, 1 do InsertRow(t_id, i); end
RUN = true
function main()
while RUN do sleep(1000);
SetCell(t_id, 1, 1, " 621"); Green(1,1)
end
end
function OnStop(stop_flag)
DestroyTable(t_id)
RUN = false
return 1000
end
Здравствуйте, ak56. Белый фон и чёрный текст при условном форматировании обуславливается тем, что когда Вы задаете условие, то не меняете цвет формата. То есть, Вы задаете, что по какому-то условию размер шрифта в ячейке изменится, но так же изменятся ее цветовые составляющие (цвет фона и цвет текста), так как они заданы по умолчанию. Задав цвет в настройке формата Вы сразу добьетесь необходимого результата. Однако, можем зарегистрировать пожелание, чтобы по умолчанию цветовые настройки ячейки были "Нет цвета". Регистрируем?
Здравствуйте! Видимо я, как всегда, недостаточно ясно изложил свои пожелания.. Понятно, что условное форматирование имеет приоритет над форматом ячейки, заданном в скрипте.. и если по умолчанию установлено белое\чёрное, то при его применении, скажем, изменении только размера текста, мы будем наблюдать изменение и цвета - по умолчанию.. В случае статичной картинки, когда при запуске скрипта один раз выставляется цвет\размер, и далее не меняется, то не особенно критично.. Другое дело, когда картинка динамична.. Пример в скрипте..
Логика установки в усл.форм. ч\б понятна - тема чёрно-белая, НО! Пользователь, не работающий со скриптами, заходит в усл.форм. специально для того, установить какие-то свои цвета..как раз в этих ячейках. А "продвинутому скриптоману" приходится делать целых ДВА, или четыре лишних движения! Ежедневно! ... тем более, что у него УЖЕ всё раскрашено скриптом!
Конечно регистрируем! Я ж для этого и писал..
С Уважением!..
Код
function Green(Line, Col) SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255)); end; -- Зеленый
function Green_1(Line, Col) SetColor(t_id, Line, Col, RGB(0,245,0), RGB(0,0,0), RGB(0,245,0), RGB(0,0,0)); end; -- Светло_Зеленый
function Red(Line, Col) SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255)); end; -- Красный
t_id = AllocTable();
AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
t = CreateWindow(t_id);
for i = 1, 4, 1 do InsertRow(t_id, i); end
k = 0
RUN = true
function main()
while RUN do sleep(1000);
SetCell(t_id, 1, 1, " 621");
if k < 2 then
Green(1,1)
k = k + 1
else
Green_1(1,1)
k = 0
end
end
end
function OnStop(stop_flag)
DestroyTable(t_id)
RUN = false
return 1000
end
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Здравствуйте, Старатель. Попробовали воспроизвести на приведенном в этой ветке скрипте. Если задано условное форматирование ко всей строке, то настройка "Нет цвета" работает нормально (ниже в пример приводим скриншоты до и после применения форматирования). Уточните, пожалуйста, какие настройки форматирования выбраны у Вас?
Старатель написал: Я думал "Нет цвета" означает не перекрашивать в белый (или любой другой) цвет. Это не так? Что же тогда?
Добрый день,
В одной из ближайших версий мы изменим приоритет выбора настроек условного форматирования ячеек. У индивидуальных настроек ячейки приоритет будет выше, чем у настроек ячеек с признаком "Применить ко всей строке". Из двух ячеек с признаком "Применить ко всей строке" настройки форматирования будут браться с ячейки, которая находится в таблице правее.
В настройках шрифтов («Программа» / «Шрифты») указан шрифт Tahoma. При выборе условного форматирования эти настройки игнорируются, стоит по-умолчанию другой шрифт (Arial). Приходится дополнительно ещё указывать нужный шрифт и размер.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель, добрый день. Можем предложить зарегистрировать пожелание- что бы шрифт в условном форматировании подставлялись такие же, какие настроены в Программа/Шрифты. Регистрируем?
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Было бы неплохо, если бы наконец устранили древнюю проблему, когда цвета таблицы, установленные из скрипта в SetColor, сбрасываются при применении фильтра.
Надо делать так, как надо. А как не надо - делать не надо.
Действительно, цветовые параметры сбрасываются после применения фильтров. Мы исправим недоработку в очередном обновлении ПО. Приносим извинения за причиненные неудобства.