16.02.2010, 22:19
|
|
Начинающий
|
|
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
|
|
очень давно делал, когда ещё в армии служил:
Код:
procedure TWorkForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
y,m,d: Word;
begin
DecodeDate(Date,y,m,d);
if DBGrid1.DataSource.DataSet.FieldByName('zap_cat').AsInteger = 1 then
begin
DBGrid1.Canvas.Brush.Color := clMoneyGreen;
DBGrid1.Canvas.Font.Style := [];
DBGrid1.Canvas.Font.Color := clBlack;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
// START: Цвета по годам, кроме ОФИЦЕРОВ
if (ZMySqlQuery1.FieldByName('base_type').AsInteger<>5) And (DBGrid1.DataSource.DataSet.FieldByName('birth').AsInteger < y-50) And Not (DBGrid1.DataSource.DataSet.FieldByName('birth').AsInteger = 0) then
begin
DBGrid1.Canvas.Brush.Color := clRed;
DBGrid1.Canvas.Font.Style := [fsBold];
DBGrid1.Canvas.Font.Color := clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
if (ZMySqlQuery1.FieldByName('base_type').AsInteger<>5) And (DBGrid1.DataSource.DataSet.FieldByName('birth').AsInteger = y-50) then
begin
DBGrid1.Canvas.Brush.Color := clGreen;
DBGrid1.Canvas.Font.Style := [fsBold];
DBGrid1.Canvas.Font.Color := clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
// END: Цвета по годам, кроме ОФИЦЕРОВ
if State = [gdFocused] then
begin
DBGrid1.Canvas.Brush.Color := clSilver;
DBGrid1.Canvas.Font.Style := [fsBold];
DBGrid1.Canvas.Font.Color := clBlack;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
//if State = [gdFocused,gdSelected] then
if gdSelected in State then
begin
DBGrid1.Canvas.Brush.Color := clSilver;
DBGrid1.Canvas.Font.Style := [fsBold];
DBGrid1.Canvas.Font.Color := clBlack;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
|