Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Курс видеоуроков программирования и крэкерства 6.0
(актуальность: февраль 2017)
Свежие инструменты, новые видеоуроки!

  • 300+ видеоуроков
  • 800 инструментов
  • 80 свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Различные цвета строк в DBCtrlGrid

Ученый-компьютерщики решили облегчить жизнь юзеров и создали ракету системы "Земля - Провайдер".

Используйте событие drawColumnCell. И не забудьте выставить defautlDrawing в False


 procedure TMain.ProjectGridDrawColumnCell(Sender: TObject;
   const Rect: TRect; DataCol: Integer; Column: TColumn;
   State: TGridDrawState);
 begin
   projectGrid.canvas.brush.color := clWindow;
   projectGrid.canvas.fillRect(rect);
   if gdSelected in state then
   begin
     projectGrid.canvas.brush.color := clHighlight;
     if fsBold in projectGrid.canvas.font.style then
     begin
       projectGrid.canvas.font.color := clHighlightText;
       projectGrid.canvas.font.style := [fsBold];
     end
     else
       projectGrid.canvas.font.color := clHighlightText;
   end
   else if gdFocused in state then
   begin
     projectGrid.canvas.brush.color := clWindow;
     if fsBold in projectGrid.canvas.font.style then
     begin
       projectGrid.canvas.font.color := clWindowText;
       projectGrid.canvas.font.style := [fsBold];
     end
     else
       projectGrid.canvas.font.color := clWindowText;
   end
   else if gdFixed in state then
   begin
     projectGrid.canvas.brush.color := clHighlight;
     if fsBold in projectGrid.canvas.font.style then
     begin
       projectGrid.canvas.font.color := clHighlightText;
       projectGrid.canvas.font.style := [fsBold];
     end
     else
       projectGrid.canvas.font.color := clHighlightText;
   end;
   with globalDataModule.qProjects do
   begin
     // тестовая запись. Устанавливаем свойства для перекрытия заданных по умолчанию;
     if fieldByName('EST_COMPL_DATE').asDateTime < date then
       projectgrid.Canvas.font.color := clRed;
     if compareStr(fieldByName('STAT_CODE').asString, 'HD') = 0 then
       projectgrid.Canvas.font.color := clOlive;
     if (compareStr(fieldByName('CHANGED').asString, 'Y') = 0) and
       (fieldByName('ASSIGN_EMP_ID').asInteger = userRecord.UserId) then
       projectgrid.Canvas.font.style := [fsBold];
   end;
   projectGrid.canvas.textOut(rect.left + 2, rect.top + 2, column.field.text);
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS