[firebase-br] OnDrawCell do IB_Grid com ícone ou imagem, algum exemplo ?
Gladiston Santana
gladiston em vidy.com.br
Qui Ago 23 14:42:49 -03 2012
O seu exemplo é muito semelhante ao meu em usar grids zebrados, contudo, o
evento OnDrawColumnCell não existe no IB_Grid, uma suite popular para
Firebrid/Interbase. Os exemplos para DBGrids comuns na maior parte das
vezes não se aplica, o OnDrawCell é o que mais se aproxima, veja um exemplo
:
procedure TFormMAIN.GradePesquisaDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with (Sender as TIB_Grid) do
begin
if (gdSelected in State) or (gdFocused in State) then
begin
Canvas.Brush.Color := clBlue;
Canvas.Font.Color := clWhite;
end
else
begin
if (PesquisaSQL.Active) and
(PesquisaSQL.BufferFieldByName('status').AsString='A')
then Canvas.Brush.Color := ZebraAberto.Color
else
begin
if Odd(ARow)
then Canvas.Brush.Color := Zebra1.Color
else Canvas.Brush.Color := Zebra2.Color;
end;
end;
DefaultDrawCell(acol,arow,rect,state,GetCellDisplayText(acol,arow),taLeftJustify);
end;
end;
É parecido no que se faz no DBGrid, contudo não é igual e não vejo uma
maneira de incluir um Draw numa coluna com os eventos que observo aqui.
[]´s
Em 23 de agosto de 2012 14:04, Terry Marçal Santos
<terrymarcal em gmail.com>escreveu:
> Gladston,
>
> Tenho um exemplo que eu utilizo, eu uso uma imagem quando o registro está
> ativo e outra quando o registro está inativo, espero que ajude.
>
> Abraços,
> Terry Marçal
>
> Ex.:
>
> procedure TFrmCentroCusto.grd_PrincipalDrawColumnCell(Sender: TObject;
> const Rect: TRect; DataCol: Integer; Column: TColumn; State:
> TGridDrawState);
> begin
> If odd(DMO_CENTRO_CUSTO.CDST_CENTRO_CUSTO.RecNo) then
> begin
> grd_Principal.Canvas.Font.Color:= clBlack;
> grd_Principal.Canvas.Brush.Color:= $00FFF4E8;
> end
> else
> begin
> grd_Principal.Canvas.Font.Color:= clBlack;
> grd_Principal.Canvas.Brush.Color:= clWhite;
> end;
> grd_Principal.Canvas.FillRect(Rect);
>
> grd_Principal.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
>
> if Column.Field = DMO_CENTRO_CUSTO.CDST_CENTRO_CUSTOCCU_ATIVO then
> begin
> grd_Principal.Canvas.FillRect(Rect);
>
> if DMO_CENTRO_CUSTO.CDST_CENTRO_CUSTOCCU_ATIVO.Text='S' then //
> Cadastro está ativo
>
>
> DMO_PRINCIPAL.im_ListaImagem.Draw(grd_Principal.Canvas,Rect.Left+10,Rect.Top+1,0);
>
> if DMO_CENTRO_CUSTO.CDST_CENTRO_CUSTOCCU_ATIVO.Text='N' then //
> Cadastro está ativo
>
>
> DMO_PRINCIPAL.im_ListaImagem.Draw(grd_Principal.Canvas,Rect.Left+10,Rect.Top+1,1);
> end;
>
> end;
>
>
>
>
> Em 23 de agosto de 2012 13:52, Gladiston Santana
> <gladiston em vidy.com.br>escreveu:
>
> > Alguém aí tem exemplo do evento OnDrawCell para ser usado com o IB_Grid
> > (IBOSuite) que permita colocar ícones ou imagens para indicar uma
> situação
> > ?
> > Eu já uso o OnDrawCell para pintar a linha (ou celula) de uma cor, mas
> acho
> > que seria melhor se eu pudesse acrescentar uma coluna e um ícone
> indicativo
> > de status nela.
> > Se alguem tiver algum exemplo, me ajudaria em muito.
> >
> > Gladiston Santana
> > Departamento de TI
> > Grupo Vidy
> > Tel (11) 4787-3122 ramal 228
> > Rod. Régis Bittencourt 3360 - Km 272,5
> > Taboão da Serra - SP - CEP: 06793-000
> > Visite nosso site: www.vidy.com.br
> > Visite também : www.expolabor.com.br
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista