Fórum Cor de fundo de ListBox #190924

27/10/2003

0

Olá!

Meu problema é com a cor de fundo do ListBox em tempo de execução.
Quando troco a cor de fundo de branco (por exemplo) para outra qualquer como cinza, se depois tentar retornar à cor branca parece que o programa não reconhece a alteração. Porém, se fizer com que a janela de um outro aplicativo qualquer sobreponha a janela de meu programa, ao voltar a ativar a janela de meu programa aparece a cor de fundo do ListBox para qual eu programei, neste caso a cor branca que era a cor do início.


Alguém sabe como resolver este problema?
Já tentei executar Refresh, mas também não adiantou.

Grato.
wbb


Wbb

Wbb

Responder

Posts

14/10/2005

Steve_narancic

também estou com esse problema, ja tentei dar um repaint e um update no form mas não funcionou, será que alguem tem alguma dica?


Responder

Gostei + 0

14/10/2005

Steve_narancic

resolvi, mudando a cor e depois fazendo visible = false e visible = true;



ListBox1.Color:= clRed;
ListBox1.Visible:=False;
ListBox1.Visible:=true;



Responder

Gostei + 0

14/10/2005

Adriano Santos

Olá! Meu problema é com a cor de fundo do ListBox em tempo de execução. Quando troco a cor de fundo de branco (por exemplo) para outra qualquer como cinza, se depois tentar retornar à cor branca parece que o programa não reconhece a alteração. Porém, se fizer com que a janela de um outro aplicativo qualquer sobreponha a janela de meu programa, ao voltar a ativar a janela de meu programa aparece a cor de fundo do ListBox para qual eu programei, neste caso a cor branca que era a cor do início. Alguém sabe como resolver este problema? Já tentei executar Refresh, mas também não adiantou. Grato. wbb


O que você está usando para trocar a cor?


Responder

Gostei + 0

14/10/2005

Davicarrano

Troca a propriedade Style do ListBox para lbOwnerDrawFixed
e veja se vai funcionar...


Responder

Gostei + 0

14/10/2005

Steve_narancic

funcionou, fico muito agradecido


Responder

Gostei + 0

14/10/2005

Davicarrano

vou tentar explicar o porque deu certo.. por favor me corrijam se eu estiver errado....
quando vc muda a propriedade style de um ListBox para lbOwnerDrawFixed a Lista passa a ser redesenhada a cada modificação... no entanto se vc deixar a propriedade como lbOwnerDrawFixed ou lbOwnerDrawVariable o evento DrawItem vai ser executado a cada novo item q ele for desenhar no list.... setando a propriedade para estes 2 valores vc pode usar o evento DrawItem pra estar Modificando o que ira aparecer nos itens da lista, tipo Inserindo desenhos, formatando o texto, posicionando ele.... a diferença de um valor para o outro é que no lbOwnerDrawVariable os itens podem ter seus Height variaveis e no lbOwnerDrawFixed os itens tem seu Heigth fixo, definido pela propriedade ItemHeight...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar