Fiz uma POG aqui... =)

Joguei um Shape com alClient e mudei a cor dele conforme a minha
necessidade.... rs

Att,

*Jhosef Marks de Carvalho*
*Blog: **http://www.jhosefmarks.com.br* <http://www.jhosefmarks.com.br>*
Jesus está voltando

*
*"E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e buscar
a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
céus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14) *



Em 6 de setembro de 2010 16:10, Rubem Rocha
<rubem.ro...@dtmanaus.com.br>escreveu:

>
>
> Jhosef, esse seu problema até já foi relatado uma vez no site
> QualityCentral, da Embarcadero (
> http://qc.embarcadero.com/wc/qcmain.aspx?d=3534).
>
> As propriedades Color e SelectedColor são usadas pelo TDBCtrlGrid quando a
> sua exibição é feita pelo próprio componente. O fato dessas propriedades
> serem usadas pelo controle para exibição dos painéis, e o fato de você estar
> referenciando uma dessas propriedades (Color) no evento, faz com que o mesmo
> seja disparado várias vezes, causando essa recursão.
>
> Tenha em mente que quando você usa o evento OnPaintPanel, é o código neste
> evento que é responsável pela 'pintura' dos painéis do TDBCtrlGrid, e não
> mais o próprio componente. Ou seja, é você que é o responsável por essa
> exibição customizada, e não mais o componente, cabendo ao mesmo apenas
> chamar o evento codificado por você.
>
> O help do Delphi explica que, nesse evento, o código deve usar a
> propriedade Canvas para ‘pintar’ o painel, e não simplesmente fazer essa
> alternância de cor, pelos motivos já explicados.
>
> Sds.
>
> 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
> Dirlei
> Enviada em: segunda-feira, 6 de setembro de 2010 14:54
> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> Assunto: Re: [delphi-br] TDBCtrlGrid: Evento OnPaintPanel sendo chamado
> infinitamente
>
>
> Quando você muda a propriedade color, o evento OnPaintPanel é chamado
> novamente, o que gera uma sequência infinita de chamadas recursivas.
>
> Você precisa atribuir nil ao evento OnPaintPanel no início da
> implementação e reatribuir ctrAgendaPaintPanel no final para evitar isso
> (de preferencia usando try..finally).
>
> Mas acho que você não quer mudar a cor do DBCtrlGrid inteiro dependendo
> do Status (pelo código, me parece que é isso que q vc está fazendo).
> Deve haver algum objeto em tempo de execução que represente o painel do
> registro corrente no grid. Se houver, é a cor desse painel que você
> precisa mudar.
>
> []'s
>
> --
> Dirlei Dionísio
>
> Novo artigo: Sorteio de ingresso para o Dev In Rio
> http://MaisQueBomCodigo.blogspot.com
>
> Em Seg, 2010-09-06 às 15:14 -0300, Jhosef Marks escreveu:
> > procedure TfrmClientePrincipal.ctrAgendaPaintPanel(DBCtrlGrid:
> TDBCtrlGrid;
> > Index: Integer);
> > begin
> > if DBCtrlGrid.datasource.dataset.FieldByName('STATUS').AsString = 'C'
> > then begin
> > DBCtrlGrid.Color := $00D2D2FF;
> > end else begin
> > DBCtrlGrid.Color := clWindow;
> > end;
> > end;
> >
> > Att,
> >
> > *Jhosef Marks de Carvalho*
> > *Blog: **http://www.jhosefmarks.com.br* <http://www.jhosefmarks.com.br>*
> > Jesus est voltando
> >
> > *
> > *"E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e
> buscar
> > a minha face e se converter dos seus maus caminhos, ento eu ouvirei dos
> > cus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14) *
> >
> >
> >
> > Em 6 de setembro de 2010 15:08, Rubem Rocha
> > <rubem.ro...@dtmanaus.com.br <rubem.rocha%40dtmanaus.com.br> <mailto:
> rubem.rocha%40dtmanaus.com.br <rubem.rocha%2540dtmanaus.com.br>>
> >escreveu:
>
> >
> > >
> > >
> > > Kd o cdigo do evento????????
> > >
> > > Sds.
> > >
> > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> <delphi-br%40yahoogrupos.com.br> [mailto:
> > > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> <delphi-br%40yahoogrupos.com.br>] Em
>
> > > nome de Jhosef Marks
> > > Enviada em: segunda-feira, 6 de setembro de 2010 13:59
> > > Assunto: [delphi-br] TDBCtrlGrid: Evento OnPaintPanel sendo chamado
> > > infinitamente
> > >
> > >
> > > Boa tarde a todos, tenho um TDBCtrlGrid com poucos registros (em torno
> de
> > > uns 10).
> > >
> > > No evento OnPaintPanel, eu fiz uns ifs para que de acordo com o status
> do
> > > registro fosse pintado de uma cor...
> > >
> > > Acontece que isso est travando o meu formulrio... pois a funo est
> > > sendo
> > > chamada infinitamente...
> > >
> > > Algum j uso esse componente e teve algum problema?
> > >
> > > [As partes desta mensagem que no continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que no continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



------------------------------------

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a