Blz, valeu galera, fiz aqui e deu certo.

2009/5/15 Reinaldo Aparecido Pereira <ctocv...@yahoo.com.br>

>
>
> Olha ai embaixo um exemplo bem detalhado que além de coloca uma imagem.
>
> procedure TfrmHome.dbGradeDrawColumnCell(Sender: TObject;
>
> const Rect: TRect; DataCol: Integer; Column: TColumn;
>
> State: TGridDrawState);
>
> var NewRect : TRect;
>
> Texto: string;
>
> CorFundo : TColor;
>
> begin
>
> if (gdSelected in State) or (gdFocused in State) then
>
> begin
>
> CorFundo := $00FFF9EA;
>
> dbGrade.Canvas.Brush.Color := CorFundo;
>
> NewRect.Left := Rect.Left+40;
>
> NewRect.Top := Rect.Top+10;
>
> NewRect.Right := Rect.Right;
>
> NewRect.Bottom := Rect.Bottom;
>
> dbGrade.Canvas.FillRect(NewRect);
>
> end
>
> else
>
> begin
>
> CorFundo := clWhite;
>
> end;
>
> with dbGrade.Canvas do
>
> begin
>
> Font.Color := clBlack;
>
> Font.Name := 'Calibri';
>
> Font.Size := 9;
>
> Font.Style := [fsBold];
>
> Brush.Color := $00E6E6E6;
>
> NewRect.Left := Rect.Left;
>
> NewRect.Top := Rect.Top+4;
>
> NewRect.Right := Rect.Right;
>
> NewRect.Bottom := Rect.Top+20;
>
> FillRect(NewRect);
>
> Texto := DataSource1.DataSet.FieldByName('RAZAO').Text;
>
> TextOut(Rect.Left+40, Rect.Top+5, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('CNPJN').Text;
>
> TextOut(dbGrade.Width-110, Rect.Top+5, Texto);
>
> Font.Name := 'Calibri';
>
> Font.Size := 9;
>
> Font.Style := [];
>
> Brush.Color := CorFundo;
>
> Texto := DataSource1.DataSet.FieldByName('FANTA').Text;
>
> TextOut(Rect.Left+40, Rect.Top+19, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('ENDER').Text;
>
> TextOut(Rect.Left+40, Rect.Top+34, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('EMAIL').Text;
>
> TextOut(Rect.Left+600, Rect.Top+34, Texto);
>
> Texto := 'Bairro:';
>
> TextOut(Rect.Left+340, Rect.Top+34, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('BAIRR').Text;
>
> TextOut(Rect.Left+380, Rect.Top+34, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('HOMEP').Text;
>
> TextOut(Rect.Left+600, Rect.Top+49, Texto);
>
> Font.Style := [fsBold];
>
> Texto := DataSource1.DataSet.FieldByName('CIDAD').Text;
>
> TextOut(Rect.Left+40, Rect.Top+49, Texto);
>
> Font.Style := [];
>
> Texto := 'Cep:';
>
> TextOut(Rect.Left+340, Rect.Top+49, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('CEPNU').Text;
>
> TextOut(Rect.Left+380, Rect.Top+49, Texto);
>
> Font.Style := [];
>
> Font.Size := 9;
>
> Texto := 'Fone:';
>
> TextOut(Rect.Left+40, Rect.Top+64, Texto);
>
> Font.Size := 9;
>
> Texto := DataSource1.DataSet.FieldByName('TELEF').Text;
>
> TextOut(Rect.Left+70, Rect.Top+64, Texto);
>
> Texto := 'Fax:';
>
> TextOut(Rect.Left+340, Rect.Top+64, Texto);
>
> Font.Size := 9;
>
> Texto := DataSource1.DataSet.FieldByName('FAXNU').Text;
>
> TextOut(Rect.Left+380, Rect.Top+64, Texto);
>
> Font.Style := [fsItalic];
>
> Font.Color := $00804000;
>
> Texto := DataSource1.DataSet.FieldByName('PRODU').Text;
>
> TextOut(Rect.Left+40, Rect.Top+94, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('SETOR').Text;
>
> TextOut(Rect.Left+40, Rect.Top+79, Texto);
>
> Font.Style := [];
>
> Font.Color := clBlack;
>
> Texto := 'Importadora';
>
> TextOut(Rect.Left+600, Rect.Top+64, Texto);
>
> Texto := 'Exportadora';
>
> TextOut(Rect.Left+870, Rect.Top+64, Texto);
>
> Font.Style := [fsBold];
>
> Texto := 'N. Funcionários:';
>
> TextOut(Rect.Left+850, Rect.Top+34, Texto);
>
> Texto := DataSource1.DataSet.FieldByName('EMPRE').Text;
>
> TextOut(Rect.Left+938, Rect.Top+34, Texto);
>
> Draw(Rect.Left, Rect.Top+1, imgFicha.Picture.Bitmap);
>
> Draw(Rect.Left+580, Rect.Top+36, imgMail.Picture.Bitmap);
>
> if DataSource1.DataSet.FieldByName('IMPOR').Text = 'S' then
>
> Draw(Rect.Left+580, Rect.Top+66, imgChecked.Picture.Bitmap)
>
> else
>
> Draw(Rect.Left+580, Rect.Top+66,
> imgUnChecked.Picture.Bitmap);
>
> if DataSource1.DataSet.FieldByName('EXPOR').Text = 'S' then
>
> Draw(Rect.Left+850, Rect.Top+66, imgChecked.Picture.Bitmap)
>
> else
>
> Draw(Rect.Left+850, Rect.Top+66,
> imgUnChecked.Picture.Bitmap);
>
> end;
>
> end;
>
> De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto:
> delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em
> nome de Ricardo César Cardoso
> Enviada em: quinta-feira, 14 de maio de 2009 13:59
>
> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> Assunto: Re: [delphi-br] Mostrar uma imagem no dbgrid conforme o conteudo
> de
> um campo...
>
> Cara... precisei disso tempos atrás e não lembro exatamente onde achei...
> mas vc vai ter que usar o evento OnDrawCell (?) do/no DBGrid.
>
> Dá uma olhada nesse link:
> http://delphi.about.com/library/weekly/aa032205a.htm
>
> Lembro que usei alguma coisa daí.
>
> []'s
> Ricardo.
>
> "Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!"
>
> --- Em qui, 14/5/09, Leonardo Quinino 
> <leonardo.quin...@gmail.com<leonardo.quinino%40gmail.com>
> <mailto:leonardo.quinino%40gmail.com <leonardo.quinino%2540gmail.com>> >
> escreveu:
>
> De: Leonardo Quinino <leonardo.quin...@gmail.com<leonardo.quinino%40gmail.com>
> <mailto:leonardo.quinino%40gmail.com <leonardo.quinino%2540gmail.com>> >
> Assunto: [delphi-br] Mostrar uma imagem no dbgrid conforme o conteudo de um
> campo...
> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> Data: Quinta-feira, 14 de Maio de 2009, 10:53
>
> Pessoal, estou criando alguns métodos novos para apresentação de números,
> ao
>
> invés de mostrar os números quero mostrar uma imagem .
>
> Exemplo ao inves de mostrar o percentual do campo quero mostrar no dbgrid
>
> UM ICONE com (BOLINHA VERMELHA, AZUL, VERDE, AMARELA).
>
> Alguém sabe de algo de preferencia para fazer em Delphi puro (para evitar
>
> componentes)
>
> --
>
> Leonardo Quinino
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Leonardo Quinino


[As partes desta mensagem que não continham texto foram removidas]

Responder a