На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Компоненты / Как изменить цвет отмеченных записей в DBGrid Сделать домашней страницей Добавить в избранное Написать писмо

Как изменить цвет отмеченных записей в 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;


Copyright ©   "DELPHI WORLD"   E-mail:   delphiworld@mail.ru  http://www.delphiworld.narod.ru
Источник получения информации: http://www.delphiworld.narod.ru
Hosted by uCoz