Delphi World - Как изменить цвет отмеченных записей в DBGrid
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как изменить цвет отмеченных записей в DBGrid


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

Например, так:


DefaultDrawing := False;
...

procedure TfrmCard.GridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  index: Integer;
  Marked, Selected: Boolean;
begin
  Marked := False;
  if (dgMultiSelect in Grid.Options) and (THackDBGrid(Grid).Datalink.Active) then
    Marked := Grid.SelectedRows.Find(THackDBGrid(Grid).Datalink.Datasource.Dataset.Bookmark, index);
  Selected := (THackDBGrid(Grid).Datalink.Active) and (Grid.Row-1 = THackDBGrid(Grid).Datalink.ActiveRecord);

  if Marked then
  begin
    Grid.Canvas.Brush.Color:=$DFEFDF;;
    Grid.Canvas.Font.Color :=clBlack;
  end;

  if Selected then
  begin
    Grid.Canvas.Brush.Color:=$FFFBF0;
    Grid.Canvas.Font.Color :=clBlack;
    if Marked then
      Grid.Canvas.Brush.Color:=$EFE3DF; { $8F8A30 }
  end;
  Grid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

где:


THackDBGrid = class(TDBGrid)
  property DataLink;
  property UpdateLock;
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования