Delphi DBGrid图显用法

procedure TForm10.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Im1: TBitmap;
staff_id: string;
begin
Im1:=TBitmap.Create;
if (dm.AQ_personal.RecordCount = 0) then exit;
if Column.Field = dm.AQ_personal.FindField('autoid') then
// if Column.Field = dm.AQ_personal.FindField('工号') then
begin
with DBGrid1.Canvas do
begin
Brush.Color:=clinfoBk;
FillRect(Rect);
staff_id:=dm.AQ_personal.FindField('staff_id').Asstring;
if ((dm.AQ_personal.FindField('work_type').Asstring)='离职类别')
then ImageList2.GetBitmap(0,Im1);
if ((dm.AQ_personal.FindField('work_type').Asstring)='试用期员工')
then ImageList2.GetBitmap(1,Im1);
if ((dm.AQ_personal.FindField('work_type').Asstring)='未填在离职')
then ImageList2.GetBitmap(2,Im1);
if ((dm.AQ_personal.FindField('work_type').Asstring)='在职类别')
then ImageList2.GetBitmap(3,Im1);
// TextOut(Rect.Right-2-DBGrid1.Canvas.TextWidth(staff_id),Rect.Top+1,staff_id);
// Draw(round((Rect.Left+Rect.Right-Im1.Width)/5),Rect.Top,Im1);
Draw(round((Rect.Left+Rect.Right-Im1.Width)/2),Rect.Top,Im1);
end;
end;

end;

原文地址:https://www.cnblogs.com/h2zZhou/p/5230139.html