procedure TForm1.DBGridEh1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
//DBGridEh1.Canvas.Font.Color := clgreen;
if gdSelected in state then
SetBkColor(DBGridEh1.canvas.handle, clred)
else
setbkcolor(DBGridEh1.canvas.handle, clwhite);
DBGridEh1.Canvas.TextRect(rect, 0, 0, field.AsString);
DBGridEh1.Canvas.Textout(rect.Left, rect.Top, field.AsString);
end;
Field: TField; State: TGridDrawState);
begin
//DBGridEh1.Canvas.Font.Color := clgreen;
if gdSelected in state then
SetBkColor(DBGridEh1.canvas.handle, clred)
else
setbkcolor(DBGridEh1.canvas.handle, clwhite);
DBGridEh1.Canvas.TextRect(rect, 0, 0, field.AsString);
DBGridEh1.Canvas.Textout(rect.Left, rect.Top, field.AsString);
end;
procedure TForm1.DBGridEh1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
OldColor: TColor;
begin
OldColor := DBGridEh1.Canvas.Font.Color;
if gdSelected in state then
begin
DBGridEh1.Canvas.Font.Color := clRed;
DBGridEh1.Canvas.Textout(rect.Left, rect.Top, field.AsString);
DBGridEh1.Canvas.Font.Color := OldColor;
end;
end;
Field: TField; State: TGridDrawState);
var
OldColor: TColor;
begin
OldColor := DBGridEh1.Canvas.Font.Color;
if gdSelected in state then
begin
DBGridEh1.Canvas.Font.Color := clRed;
DBGridEh1.Canvas.TextRect(rect, 0, 0, field.AsString);
DBGridEh1.Canvas.Textout(rect.Left, rect.Top, field.AsString);
DBGridEh1.Canvas.Font.Color := OldColor;
end;
end;
if (rect.top=tstringgrid(dbgrid1).cellrect(tstringgrid(dbgrid1).col,
tstringgrid(dbgrid1).row).top) and (not(gdfoused in state)) then
dbgrid1.canvas.font.color:=clred;
dbgrid1.defaultdrawdatacell(rect,column.field,state);
前两行是一句话
AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
IF (gdSelected in state ) THEN
BEGIN
AFONT.Color :=CLRED;
END;
end;
procedure TForm1.DBGridEh1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
OldColor: TColor;
begin
OldColor := DBGridEh1.Canvas.Font.Color;
if gdSelected in state then
begin
DBGridEh1.Canvas.Font.Color := clRed;
DBGridEh1.Canvas.TextRect(rect, 0, 0, field.AsString);
DBGridEh1.Canvas.Textout(rect.Left, rect.Top, field.AsString);
DBGridEh1.Canvas.Font.Color := OldColor;
end;
end;