Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jefferson Souza

Imagem .btmp numa StringGrid

Recommended Posts

Olá galera, é o seguinte ....Estou com uma imagem em formato .btmp, então estou conseguindo colocar essa imagem para aparecer numa coluna de uma StringGrid, a bronca é que quando dou um click na StringGrid a imagem está sumindo, como faço para essa imagem permanecerna StringGrid ???Segue em baixo o trecho de código que estou usando ... Neste caso estou pintando na 5º coluna da minha Grid. procedure TForm1.Load (indice: Integer);var Bitmap: TBitmap;begin Bitmap:=TBitmap.Create; ImageList1.GetBitmap(1,Bitmap); Grid.Canvas.StretchDraw(Grid.CellRect(5,indice),Bitmap); Bitmap.Free;end;Aguardo anciosamente a resposta de todos ....Um abraço e desde já agradeço pela a resposta.At+.

Compartilhar este post


Link para o post
Compartilhar em outros sites

User o evento OnDrawCell do StrinGrid, e faça algo do tipo:

 

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);var	Bitmap: TBitmap;beginif ((ACol = 5) and (ARow > 0)) then	begin	Bitmap:=TBitmap.Create;	ImageList1.GetBitmap(1,Bitmap);	StringGrid1.Canvas.StretchDraw(Rect,bitmap);	Bitmap.Free;	end;end;

Ou seja, pode remover de outros locais que colocou o método para criar o bitmap, desta forma sempre vai ficar na 5° coluna, depois da 1° linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Márcio.theis, No evento Grid.OnDrawCell pega perfeito !!!! Muito bom mesmo.Gostaria de saber como faço para quando clicar no botão. Pois se eu deixar neste evento fica atualizando direto e torna a aplicação muito lenta.Obrigado e Aguardo respostas . ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema que se tirar do OnDrawCell, ele vai ser executado e vai tentar pintar novamente, caso não tenha a imagem para colocar novamente, ele remove e deixa limpo...Teria de ver alguma outra forma para este controle, eu desconheço no momento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.