Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сетка на выделенной строке в RxDbGrid [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


СержК ©   (2004-10-08 10:40:00) 

Уважаемые мастера подскажите.
Я в RxDbGrid вывожу аварийные события(объекты энергетики). В зависимости от ситуации каждая строка в гриде имеет свой цвет фона и шрифта.

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


СержК   (2004-10-08 11:38:00) [1]

Спасибо. Сейчас буду пробовать.


ЮЮ   (2004-10-08 11:28:00) [2]

type
 TRxDBGridAccess = class(TRxDBGrid);

...

procedure TForm1.RxDBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
 Field: TField; State: TGridDrawState);
begin
 if
   RxDBGrid1.Row - TRxDBGridAccess(RxDBGrid1).FixedRows =
   TRxDBGridAccess(RxDBGrid1).DataLink.ActiveRecord
 then // рисуется текущая запись
   RxDBGrid1.Canvas.Font.Style := RxDBGrid1.Canvas.Font.Style + [fsBold]
 else
   RxDBGrid1.Canvas.Font.Style := RxDBGrid1.Canvas.Font.Style - [fsBold];
   RxDBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;


Reindeer Moss Eater   (2004-10-08 11:23:00) [3]

А может тогда оставить энергетическую систему в покое?
От греха подальше.


СержК   (2004-10-08 11:07:00) [4]

Цвет фона и цвет шрифта я изменить могу, но не имею право. Это установлено нормами и прописаны в БД.

Без проблем подошло бы изменить стиль шрифта в строке, но я чегото не соображу на какое событие это повесить, т.е. прописать что это нужно делать в данной текущей строке.


КаПиБаРа   (2004-10-08 11:00:00) [5]

СержК   (08.10.04 10:40)
изменять цвет сетки

Цвет фона изменяй.


СержК   (2004-10-08 10:57:00) [6]

Извиняюсь за может слишком простой вопрос. Просто мне до этого никогда не приходилось работать со свойствами строки в гриде.

Как узнать, что строка в гриде является - текущей(выбранной)?
Как для нужной строки в OnDraw... нарисовать свой прямоугольник ?


KSergey   (2004-10-08 10:51:00) [7]

В событии рисования передается флаг, что это тек. ячейка (вроде не вру?)


ЮЮ   (2004-10-08 10:51:00) [8]

>Мне нужно на выделенной строке каким-то образом либо изменять цвет сетки, либо увеличить толщину линий в сетке

У самой сетки цвет забит в коде, а толщина - одинагова для всех ячеек. Поэтому для нужной строки в OnDraw... нарисуй свой прямоугольник


Reindeer Moss Eater   (2004-10-08 10:45:00) [9]

Если ячейка выделена, то в стиль шрифта добавлять fsBold


Наверх

Титульная страница Поиск, карта сайта Написать письмо