Перейти к содержанию
  • Регистрация
  • 0
Tumaso

Фоновый цвет TGrid

Вопрос

Мне требуется заполнить фон грида черным цветом. События OnDrawColumnCell и OnDrawColumnBackground позволяют отрисовывать только области, занимаемые ячейками. А вот где ячеек нет, там фон по умолчанию...

Подскажите плиз, как решить проблему?

И сразу спрошу - а как сделать прозрачный фон у грида? Чувствую, что совет будет один - использовать стили. А без них возможно?

Изменено пользователем Tumaso

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

С прозрачным фоном всё просто - передвигаешь прямоугольник цвета фона (в редакторе стилей )) на прозрачный участок. А вот как цвет произвольный задать - хз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

За прозрачность отвечает свойство Opacity. А фоновый цвет, хмм... Ну можно поставить прозрачность и за таблицей поставить какой-нибудь Rectangle, закрасив его нужным Вам цветом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Сделав через стиль фон отсутствующим, можно позади грида поместить, например, ректангл. Вот он и джаст желаемый цвет фона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Я именно так и сделал - у грида сделал прозрачный фон, а для фона нужного цвета использовал ректангл с этим цветом.

Это конечно решает проблему, но сразу возникает вопрос - что мешало разработчикам дать возможность задания цвета фона через свойство? Или еще лучше - через обработчик события, по аналогии с событием отрисовки ячейки в гриде? Хотя читая ответы бывших разрабов, могу сразу угадать ответ - "вам этого не надо" (с)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Ну не стали они доводить до совершенства )

Гриды есть классные сторонние. Я от tms триаловские использую. Там по событиям без стилей меняется всё-всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
3 часа назад, Tumaso сказал:

Я именно так и сделал - у грида сделал прозрачный фон, а для фона нужного цвета использовал ректангл с этим цветом.

Это конечно решает проблему, но сразу возникает вопрос - что мешало разработчикам дать возможность задания цвета фона через свойство? Или еще лучше - через обработчик события, по аналогии с событием отрисовки ячейки в гриде? Хотя читая ответы бывших разрабов, могу сразу угадать ответ - "вам этого не надо" (с)

Потому, что изначально все контролы были заточены на использование стилей. Подмена стиля влечет за собой изменение всех цветов оптом. Если Вы прибиваете гвоздями некий цвет то при различных стилях это будет выглядеть непредсказуемо.

Например: хотите сделать желтый грид в то время как умолчательный цвет окна белый, вроде нормально... теперь допустим оказалось, что стиль какой-нибудь темно-зеленый фон со светло-салатным текстом, получаем ядовитую таблицу с практически нечитаемым текстом. Вам это надо?

Не обязательно даже использовать какой-нибудь экзотический стиль. В IOS и Android в зависимости от системных настроек может быть светлый и темный стиль, т.е. белые окна с черным текстом и черные окна с белым текстом.

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

Обработчик события по которому можно самостоятельно рисовать ячейку имеется, но он не работает для случая нативного грида по причине тормозов с отрисовкой. Вообще рисование на канве мобильных устройств выполняется очень медленно отсюда и жалобы на неадекватные тормоза гридов и прочего, что сподвигло на широкое использование родных-нативных контролов. 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...