Цвет выделения в DBGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Цвет выделения в DBGrid

Сообщение wwswowsogon » 12.07.2019 19:58:04

Всем доброго времени суток!
Продолжая разбираться с БД и компонентами, столкнулся со следующей проблемой:
при раскрашивании строк DBGrid через DBGridDrawColumnCell сам собою меняется цвет фона и текста в выделенной ячейке, причем меняется таким образом, что прочитать выделенный текст становится сложно, бледно, да и выглядит некрасиво. Каким образом можно задать свои цвета? Подозреваю, что через тот же метод, но тогда каким образом узнать координаты выделенной ячейки DBGrid? у меня ячейки выделяются отдельно, выделение целой строкой не делал.

Буду благодарен за любые наводки по теме.
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Цвет выделения в DBGrid

Сообщение zoltanleo » 13.07.2019 00:25:47

Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Re: Цвет выделения в DBGrid

Сообщение wwswowsogon » 13.07.2019 15:39:37

Да, спасибо! Был на этом сайте.
Но, думал, мб ест ьболее изящное решение.

Будем пробовать.
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Цвет выделения в DBGrid

Сообщение zoltanleo » 14.07.2019 00:52:49

wwswowsogon писал(а):Да, спасибо! Был на этом сайте.
Но, думал, мб ест ьболее изящное решение.

Будем пробовать.

Куда уж изящнее :)

Там классический анализ столбца и строки. И если со столбцами все понятно, то к интерпретации строк всегда больше вопросов.

Некоторые возможности представляют сами компоненты-сетки (например, "полосатость грида", разные цвета фона/текста выделенных и не выделенных ячеек). Но все это довольно просто реализовать самому, тем более, что все уже описано давно
http://www.delphikingdom.com/asp/viewit ... alogid=168
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Re: Цвет выделения в DBGrid

Сообщение wwswowsogon » 14.07.2019 22:54:27

Спасибо большое за советы!
Несмотря на то, что уже года два как периодически работаю с БД, до сих пор не могу привыкнуть, что логика DBGrid отличается от стандартного StringGrid. Это кажется противоестественным. :) И про интерпретацию строк - да, правда. :)
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Цвет выделения в DBGrid

Сообщение YaroslavSh » 09.01.2021 17:33:58

Добрый день. Чтоб не плодить темы, спрошу тут.

Код: Выделить всё
procedure TForm3.RxDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if RxDBGrid1.DataSource.DataSet.FieldByName('kolvo').AsFloat<=0 then begin
with  RxDBGrid1.Canvas do begin
Brush.Color:=$00605BF4;
if gdSelected in State then begin
Brush.Color:= $00FFBF80;
Font.Color := clblack;
end;
FillRect(Rect);
end;
end;

RxDBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
 


Изображение

При раскрашивании таким методом, пропадают горизонтальные разделители строк, и все сливается в одну картинку, хотя вертикальные остаются. Ни как не могу их вернуть. Что для этого нужно сделать?
YaroslavSh
новенький
 
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41

Re: Цвет выделения в DBGrid

Сообщение Снег Север » 09.01.2021 23:32:52

YaroslavSh, вам лучше задать этот вопрос в тематическом разделе
viewforum.php?f=18
там автор RxDBGrid скорее его увидит
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: Цвет выделения в DBGrid

Сообщение YaroslavSh » 09.01.2021 23:47:21

Спасибо, написал там.
YaroslavSh
новенький
 
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28

Рейтинг@Mail.ru