| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Dbgrideh и курсор-прямоугольник |
| Автор: caskad 14.7.2006, 09:19 |
| Здравствуйте. При изменении цвета текста текста в dbgrideh (при определенном условии) на красный и при перемещении курсора-прямоугольника (синенький такой) читаемость очень ухудшается. (Например, представьте красный или зеленый текст на синем фоне). Где то подсознанием понимаю, что дело в системных цветах Винды, но из-за малого опыта совсем замучался. Помогите пожалуйста. Изменение цвета реализуется DBGrideh1.Canvas.Font.Color:=clred; DBGrideh1.DefaultDrawDataCell(Rect,DBGrideh1.Fields[datacol],State); на DBGridEh1DrawColumnCell. Заранее благодарен. |
| Автор: kulikoff 14.7.2006, 10:08 |
| Для отдельных ячеек можно изменять значение: <code='Delphi'> procedure TForm3.DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState); begin DBGridEh1.OptionsEh:=DBGridEh1.OptionsEh+[dghRowHighlight]; if odd(DBGridEh1.SumList.RecNo) then begin Background:=$00FFC4C4; end else begin Background:=$00FFDDDD; end; if Column.Field.DataSet.Fields[0].AsInteger>2 then begin Background:=clRed; end; end; </code> |
| Автор: caskad 14.7.2006, 10:31 |
| Нужно именно цвет текста в гриде красный и зеленый. Не цвет ячейки. Здорово было бы поменять этот самый курсор и реализовать вместо закрашивания синим просто темную оконтовку вокруг выделенной ячейки. Так реализовано в excel'е. |