1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Dbgrid С Цветной Строкой

Тема в разделе "Delphi - программирование", создана пользователем novachok, 28 янв 2013.

  1. novachok

    novachok New Member

    Репутация:
    0
    Регистрация:
    16 авг 2012
    Сообщения:
    1
    Симпатии:
    0
    Подскажите как можно закрасить всю строку одним цветом а ячейку другим?
    У меня закрашивается или вся строка или только ячейка. А нужно так: пользователь клацнул по ячейке, она выделяется одним цветом, и эта-же строка сначала и до конца светлосерым цветом. У меня только ячейка закрашивается! как закрасить светлосерым цветом???
     
  2. sinkopa

    sinkopa Well-Known Member

    Репутация:
    0
    Регистрация:
    17 июн 2009
    Сообщения:
    344
    Симпатии:
    9
    Код:
    type
    THDBGrid = class(TCustomDBGrid);
    
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
    RowIsActive: Boolean;
    CellIsSelected : Boolean;
    begin
    CellIsSelected := (gdSelected in State);
    with THDBGrid(Sender) do
    begin
    RowIsActive := (DataLink.ActiveRecord = Row-1);
    end;
    
    with TDBGrid(Sender) do
    begin
    if CellIsSelected then
    Canvas.Brush.Color := $00FFDA8C // голубой
    else if RowIsActive then
    Canvas.Brush.Color := $00EFEFEF // светло-серый
    else
    Canvas.Brush.Color := clWindow;
    DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
    
    end;
     
  3. -master-

    -master- Well-Known Member

    Репутация:
    0
    Регистрация:
    14 янв 2012
    Сообщения:
    616
    Симпатии:
    20
  4. MisterSpock

    MisterSpock Member

    Репутация:
    0
    Регистрация:
    19 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    В принципе, стандартно перехватывается событие OnDrawColumnCell, и вперёд. Это вообще универсально, перехватывать обраьотчик рисования конкретного объекта, не только DBGrid касается.
     
Загрузка...
Похожие Темы - Dbgrid Цветной Строкой
  1. Gelergo
    Ответов:
    1
    Просмотров:
    1.872
  2. Ягодка
    Ответов:
    1
    Просмотров:
    2.481
  3. NickProstoNick
    Ответов:
    3
    Просмотров:
    3.521
  4. V88
    Ответов:
    0
    Просмотров:
    4.964
  5. V88
    Ответов:
    1
    Просмотров:
    3.506

Поделиться этой страницей