Раскраска грида | |
---|---|
Burn Автор Сообщений: 5644 Откуда: Днепр Дата регистрации: 02.01.2002 |
Вопрос чисто эстетический - есть грид с покрашенными в разный цвет строками по каким-то условиям, есть текущая строка, тоже со своим цветом, который перекрывает раскраску. Менять цвет текущей строки не проблема. Проблема как сделать это автоматически красиво чтобы был понятен цвет подсветки и не подбирать эти цвета вручную. Может у кого либо есть свои наработки?
------------------ В борьбе бобра с козлом побеждает бобро |
Re: Раскраска грида | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
Т.е. для текущей строки ячейка должна выделяться цветом, который "похож" на исходный?
Может быть, использовать RGB-представление цвета, уменьшая значение по каждому каналу в два раза, ну типа rgb(200,100,200) -> RGB(100,50,100) PS А для foreColor взять цвет наоборот, поярче, чтобы в целом текущая строка была контрастная. Ну и не обязательно в два раза значения менять, можно с другим множителем, главное чтобы пропорции цвета сохранились. Исправлено 1 раз(а). Последнее : matod, 17.02.17 11:27 |
Re: Раскраска грида | |
---|---|
Burn Автор Сообщений: 5644 Откуда: Днепр Дата регистрации: 02.01.2002 |
Да. Действительно, нужно ведь темнее делать а значит уменьшать. А меня переклинило - увеличивать и что делать если значение цвета уже 255 не понятно. Синкс. А вот тут возможны ньюансы - "поярче" не обязательно "поконтраснее" |
Re: Раскраска грида | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
matod Отличная мысль!
Давно такой вопрос в голове витал. Тоже сделал бы как Burn хочет Вопрос, а как из rgb числа вынуть? ------------------ |
Re: Раскраска грида | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Там тупо 3 первых байта (R,G,B) в 32-битном слове
|
Re: Раскраска грида | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Вроде была уже такая тема...
Я для "осветления" применял вот такую функцию: Она в принципе позволила получить блеклый "цвет фона" из яркого "основного цвета". Смысл кода - перевод цвета из RGB в HSL и манипуляции с Lightness компонентой. Чего-то мутить в самом RGB практически бессмысленно. Да и в таком коде весьма сложно подобрать "универсальный" коэффициент для яркости (если цвета совсем уж разные могут быть)... ------------------ WBR, Igor |
Re: Раскраска грида | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
|
Re: Раскраска грида | |
---|---|
Burn Автор Сообщений: 5644 Откуда: Днепр Дата регистрации: 02.01.2002 |
В продолжении темы - что-то не соображу как вытащить цвет текущей строки?
|
Re: Раскраска грида | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Узнать цвет... Строки... текущей... Если в режиме Grid.Highlight, то HighlightBackColor, или в колонке взять BackColor, или в последнем TextBox, наверное...
|
Re: Раскраска грида | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
EVAL(This.DynamicBackColor)
|
Re: Раскраска грида | |
---|---|
Burn Автор Сообщений: 5644 Откуда: Днепр Дата регистрации: 02.01.2002 |
Хитро
Спасибо |
© 2000-2024 Fox Club  |