Как поместить графическое изображение в TDBGrid

Previous  Top  Next

    
 

 

Использование свойства Canvas компонента TDBGrid в методе OnDrawColumnCell позволяет не только выводить в ячейке текст методом TextOut, но и размещать в ячейках графические изображения. В этом случае используется метод Draw свойства Canvas.

 

Модифицируем наш пример, добавив в форму компонент TImageList и поместив в него несколько изображений.

 

Модифицируем код нашего приложения:

 

Соответствующий код для Delphi имеет вид:

Code:

procedure TForm1.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn;  State: TGridDrawState);

var

Im1: TBitmap;

begin

Im1 := TBitmap.Create;

if Column.FieldName = 'VenueNo' then

   with DBGrid1.Canvas do

   begin

     Brush.Color := clWhite;

     FillRect(Rect);

     if Table.FieldByName('VanueNo').Value = 1 then

       ImageList1.GetBitmap(0, Im1)

     else

       ImageList1.GetBitmap(2, Im1);

     Draw(round((Rect.Left + Rect.Right - Im1.Width) / 2), Rect.Top, Im1);

   end;

end;

 

 

 

Теперь в TDBGrid в колонке VenueNo находятся графические изображения.

©Drkb::03062

       

Взято с http://delphiworld.narod.ru