Como inserir uma imagem em campo de DBgrid?
Sou estágiária de Informática, programo em Delphi e gostaria de saber como faço para incluir uma imagem em um campo do DBGrid. Já tentei criar um descendente dele mais não consegui visualizar imagens.
Desde já,
Obrigada,
Marcela
Desde já,
Obrigada,
Marcela
Marcela_m
Curtidas 0
Respostas
Marcelo.c
25/07/2003
Código retirado da Bíblia do Delphi (Marco Cantú)
Imaginando que a imagem esteja armazenada no BD, a estratégia mais simples é criar um objeto TBitmap temporário, atribuir a ele o campo gráfico da grade, configurando sua propriedade Visible em False, e incluir a imagem com o seguinte código no evento OnDrawColumnCell:
Imaginando que a imagem esteja armazenada no BD, a estratégia mais simples é criar um objeto TBitmap temporário, atribuir a ele o campo gráfico da grade, configurando sua propriedade Visible em False, e incluir a imagem com o seguinte código no evento OnDrawColumnCell:
var Bmp: TBitmap; OutRect: TRect; BmpWidth: Integer; begin //Retângulo de saída padrão OutRect := Rect; if Column.Field = Table1CampoX then begin //desenha a imagem Bmp:= TBitmap.Create; try Bmp.Assign(Table1Graphic); BmpWidth := (Rect.Bottom - Rect.Top) * 2; OutRect.Right := Rect.Left + BmpWidth; DBGrid1.Canvas.StretchDraw(OutRect, Bmp); finally Bmp.Free; end; //reinicializa o retângulo de saída, deixando espaço para a figura OutRect := Rect; OutRect.Left := OutRect.Left + BmpWidht; end; //desenho padrão DBGrid1.DefaultDrawDataCell(OutRect, Column.Field, State); end;
GOSTEI 0