Ir para conteúdo

POWERED BY:

Arquivado

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

Estudante Corrupto

[Resolvido] Imagem no DBGrid, ora funciona, ora não

Recommended Posts

Galera, tô com um problema aqui...

 

Fiz um código pra dependendo da condição, uma imagem é adicionada ao dbgrid. Beleza. Se é só o código da imagem, ela funciona.

 

Agora, addicionei um código pra modificar a cor da linha selecionada e outro código pra variar as cores da linha (pra facilitar leitura)... Mas com esses códigos, as imagens não aparecem... agora se eu tiro esses códigos, as imagens voltam, mas o dbgrid fica sem cor!

 

help!

 

procedure TfrmPrincipal.gridTarefasDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);

var
bitmap : TBitmap;
fixRect : TRect;
bmpWidth : integer;
imgIndex : integer;

grid : TDBGrid;
row : integer;
begin


  grid := sender as TDBGrid;
  row := gridTarefas.DataSource.DataSet.RecNo;

  if Odd(row) then
	gridTarefas.Canvas.Brush.Color := $00E6E6E6
  else
	gridTarefas.Canvas.Brush.Color := $00D8D8D8;

  if (gdselected in State) then
  begin
	gridTarefas.Canvas.Font.Color := clWhite;
	gridTarefas.Canvas.brush.color := clMedGray;
  end;



  // início da programacao para adicionar imagem (ATRASADO OU NÃO)
  fixRect := Rect;
  if Column.Index = 0 then
  begin
	if ((dm.qryGrid.FieldByName('fim').AsDateTime - dm.qryGrid.FieldByName('inicio').AsDateTime) <= 3) then
	 imgIndex := 0
	  else
	   imgIndex := 1;
	bitmap := TBitmap.Create;
	try
	  il.GetBitmap(imgIndex,bitmap);
	  bmpWidth := (Rect.Bottom - Rect.Top);
	  fixRect.Right := Rect.Left + bmpWidth;
	  gridTarefas.Canvas.StretchDraw(fixRect,bitmap);
	finally
	  bitmap.Free;
	end;
	fixRect := Rect;
	fixRect.Left := fixRect.Left + bmpWidth;
  end;
// fim da programacao para adicionar imagem (ATRASADO OU NÃO)

//  gridTarefas.DefaultDrawing := true;
  gridTarefas.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

Código indentado e colorido no pastebin: aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Não consegui ver seu código, vou analisar depois mais e volto a postar.

 

Antecipando, de uma olhada neste post, onde faço um passo-a-passo sobre colocar imagens no dbGrid.

 

http://maikelscheid.blogspot.com/2008/11/d...do-imagens.html

 

Quem sabe isso já lhe auxilia

 

Att

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.