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]