06.05.2009, 10:46
|
|
Администратор
|
|
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,532
Версия Delphi: Delphi 7
Репутация: выкл
|
|
Пример рисования изображения в ячейках DBGrid
Возможно данный код кому-то пригодится
Код:
unit AFirstPage;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ImgList, DBCtrls, ExtCtrls, StdCtrls;
type
TAFirst = class(TForm)
DBGrid: TDBGrid;
ImageList1: TImageList;
Panel1: TPanel;
DBNavigator1: TDBNavigator;
procedure DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
public
end;
var
AFirst: TAFirst;
implementation
uses Unit2;
{$R *.dfm}
procedure TAFirst.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
fixRect: TRect;
bitmap: TBitmap;
bmpWidth, imgIndex: integer;
begin
fixRect := Rect;
if Column.Field = Data.TableORDRE
then
begin
if Data.Table.Fields[22].AsBoolean
then imgIndex := 0
else imgIndex := 1;
bitmap := TBitmap.Create;
try
ImageList1.GetBitmap(imgIndex,bitmap);
bmpWidth := (Rect.Bottom - Rect.Top);
fixRect.Right := Rect.Left + bmpWidth;
DBGrid.Canvas.StretchDraw(fixRect,bitmap);
finally
bitmap.Free;
end;
end;
fixRect := Rect;
fixRect.Left := fixRect.Left + bmpWidth;
end;
end.
|