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;
|