Код компонента:
{ // DBPICGRD.PAS (C) // ВСЕ ПРАВА ЗАЩИЩЕНЫ. // // ОПИСАНИЕ: // Компонент DBGrid, способный отображать графику в ячейках. } unit DBPicGrd; interface uses DBGrids, DB, DBTables, Grids, WinTypes, Classes, Graphics; type TDBPicGrid = class(TDBGrid)protectedprocedure DrawDataCell(const Rect: TRect;Field: TField; State: TGridDrawState); override;publicconstructor Create(AOwner : TComponent); override;publishedproperty DefaultDrawing default False;end; procedure Register; implementation constructor TDBPicGrid.Create(AOwner : TComponent); begin inherited Create(AOwner);DefaultDrawing := False;end; procedure TDBPicGrid.DrawDataCell(const Rect: TRect; Field: TField; State: TGridDrawState); var bmp : TBitmap;begin with Canvas dobeginFillRect(Rect);if Field is TGraphicField thentrybmp := TBitmap.Create;bmp.Assign(Field);Draw(Rect.Left, Rect.Top, bmp);finallybmp.Free;endelseTextOut(Rect.Left, Rect.Top, Field.Text);end;end; procedure Register; begin RegisterComponents('Custom', [TDBPicGrid]);end; end. |