Odysseos
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Vladkyr Примерно так: 1. объявляем свой класс-наследник от TDBGridEhStyle (например, TMyDBGridEhStyle); 2. наследуем его метод HighlightNoDataCellColor; 3. в нем проверяем тип ячейки, выставляем цвет по желанию (естественно, поменять можно не только цвет - что угодно), и вызываем родительский метод: Код: begin if (CellType.HorzType = hctDataEh) and (CellType.VertType = vctSubTitleEh) then AColor := <желаемый цвет строки>; Result := inherited HighlightNoDataCellColor( AGrid, ACol, ARow, DataCol, DataRow, CellType, AState, InMultiSelect, AColor, AFont ); end; | 4. создаём экземляр этого класса в модуле главной формы: Код: var MyStyle: TDBGridEhStyle; ... initialization begin MyStyle := TMyDBGridEhStyle.Create(); end; finalization begin FreeAndNil(MyStyle); end; end. | 5. для нужных сеток в FormCreate соответствующих форм задаём созданный экземпляр этого класса как стиль сетки: Код: ...FormCreate; begin DBGridEh1.Style := MyStyle; end; | 5а. либо задаём созданный экземпляр этого класса как "стиль по умолчанию" для всех сеток (в том же модуле, что и в п. 4, добавляем строчку в секцию initialization): Код: initialization begin MyStyle := TMyDBGridEhStyle.Create(); SetDBGridEhDefaultStyle(MyStyle); end; | | Всего записей: 186 | Зарегистр. 02-01-2006 | Отправлено: 15:33 27-01-2010 | Исправлено: Odysseos, 17:33 27-01-2010 |
|