Перейти к содержанию
Fire Monkey от А до Я
  • 0

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


Tumaso

Вопрос

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

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

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

Изменено пользователем Tumaso
Ссылка на комментарий

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

  • 0

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

Ссылка на комментарий
  • 0

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

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

Ссылка на комментарий
  • 0
3 часа назад, Tumaso сказал:

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

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

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

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

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

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

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

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

Ссылка на комментарий

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

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

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

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

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

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

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

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

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

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