我在做一个设计,数据库中的纪录有检查,没检查,就诊等4种状态,每种状态要用图标表示

解决方案 »

  1.   

    //定义变量
    var
      MyImage1:TImage;
      MyImage2:TImage;
      MyImage3:TImage;
      MyImage4:TImage;MyImage1:=TImage.Create(Self);//检查
    MyImage2:=TImage.Create(Self);//没检查
    MyImage3:=TImage.Create(Self);//就诊
    MyImage4:=TImage.Create(Self);
    MyImage1.Picture.Bitmap.LoadFromFile('C:\检查.bmp');
    MyImage2.Picture.Bitmap.LoadFromFile('C:\没检查.bmp');
    MyImage3.Picture.Bitmap.LoadFromFile('C:\就诊.bmp');
    MyImage4.Picture.Bitmap.LoadFromFile('C:\检查.bmp');
    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    begin
      if field.FieldName<>'状态的字段名' then exit;  
      if Field.asstring='检查' then
        dbGrid1.Canvas.Draw(Rect.Left,Rect.Top,MyImage1.Picture.Graphic);
      if Field.asstring='没检查' then
        dbGrid1.Canvas.Draw(Rect.Left,Rect.Top,MyImage2.Picture.Graphic);
      if Field.asstring='就诊' then
        dbGrid1.Canvas.Draw(Rect.Left,Rect.Top,MyImage3.Picture.Graphic);
    end;