Fórum Imagem na tela para touch em delphi - Dbgrid #612478
16/08/2020
0
Amigos,
Fiz várias pesquisa e já consegui inserir a imagem do produto no coluna do dbgrid em delphi.
Entretanto, a imagem fica pequena. Eu preciso que a imagem fique grande para que o atendente toque em cima da imagem na tela.
Parece-me que não vou conseguir fazer isso com dbgrid.
Alguém teria alguma sogestão?
Eu gostaria de colocar:
1- a imagem do produdo
2-o nome do produto abaixo da imagem
3-o valor do produto abaixo do nome do produto
Agradeço a ajuda.
ps:
Estou fazendo desta forma, mas a imagem fica sempre pequena e se aumento ela é cortada quando exibida:
procedure Tfrmcontareceber.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
IMG : TImage;
fixRect : TRect;
imgWidth : integer;
imgHeight : integer;
begin
fixRect := Rect;
if ((Column.Title.Caption = 'IMAGEM') AND (db.FieldByName('IMAGEM').asstring<>'')) then
begin
IMG := TImage.Create(Self);
try
//Pega o grafico da Tabela
IMG.Picture.LoadFromFile(db.FieldByName('IMAGEM').AsString);
imgWidth := IMG.Picture.Width;
imgHeight := IMG.Picture.Height;
//Desenha
dbgrid2.Canvas.StretchDraw(fixRect, IMG.Picture.Bitmap);
finally
IMG.Picture.Graphic:=nil;
end;
// Limpa a saida do Retangulo
fixRect := Rect;
fixRect.Left := fixRect.Left + imgWidth;
fixRect.Top := fixRect.Top + imgHeight;
if datacol=0 then
begin
Column.Width := 150;
// datacol:=1;
end;
end;
//draw default text (fixed position)
DBGrid2.DefaultDrawColumnCell(fixRect, DataCol, Column, State);
end;
Fiz várias pesquisa e já consegui inserir a imagem do produto no coluna do dbgrid em delphi.
Entretanto, a imagem fica pequena. Eu preciso que a imagem fique grande para que o atendente toque em cima da imagem na tela.
Parece-me que não vou conseguir fazer isso com dbgrid.
Alguém teria alguma sogestão?
Eu gostaria de colocar:
1- a imagem do produdo
2-o nome do produto abaixo da imagem
3-o valor do produto abaixo do nome do produto
Agradeço a ajuda.
ps:
Estou fazendo desta forma, mas a imagem fica sempre pequena e se aumento ela é cortada quando exibida:
procedure Tfrmcontareceber.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
IMG : TImage;
fixRect : TRect;
imgWidth : integer;
imgHeight : integer;
begin
fixRect := Rect;
if ((Column.Title.Caption = 'IMAGEM') AND (db.FieldByName('IMAGEM').asstring<>'')) then
begin
IMG := TImage.Create(Self);
try
//Pega o grafico da Tabela
IMG.Picture.LoadFromFile(db.FieldByName('IMAGEM').AsString);
imgWidth := IMG.Picture.Width;
imgHeight := IMG.Picture.Height;
//Desenha
dbgrid2.Canvas.StretchDraw(fixRect, IMG.Picture.Bitmap);
finally
IMG.Picture.Graphic:=nil;
end;
// Limpa a saida do Retangulo
fixRect := Rect;
fixRect.Left := fixRect.Left + imgWidth;
fixRect.Top := fixRect.Top + imgHeight;
if datacol=0 then
begin
Column.Width := 150;
// datacol:=1;
end;
end;
//draw default text (fixed position)
DBGrid2.DefaultDrawColumnCell(fixRect, DataCol, Column, State);
end;
Felipe
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)