Deixar item do Treeview destacado mesmo sem foco
olá pessoal
tenho um Treeview no meu form que recebe varios itens (ñ tem child) e ja mechi em algumas propriedades mas ñ stou conseguindo que o item selecionado fique destacado (poderia ficar em negrito e azul).
o item até recebe um destque qdo o foco esta no treeview.. mas após sair dele perde o destaque.
como faço pra deixar o item selecionado destacado mesmo sem o foco estar dentro?
abraço
Diogo
tenho um Treeview no meu form que recebe varios itens (ñ tem child) e ja mechi em algumas propriedades mas ñ stou conseguindo que o item selecionado fique destacado (poderia ficar em negrito e azul).
o item até recebe um destque qdo o foco esta no treeview.. mas após sair dele perde o destaque.
como faço pra deixar o item selecionado destacado mesmo sem o foco estar dentro?
abraço
Diogo
Diogoalles
Curtidas 0
Respostas
Edilcimar
13/04/2005
mas qualquer componente quando perde o foco perde também o destaque! o que você poderia tentar fazer é trocar a cor do item selecionado
GOSTEI 0
Massuda
13/04/2005
como faço pra deixar o item selecionado destacado mesmo sem o foco estar dentro?
Altere o valor da propriedade [b:c7fefd996b]HideSelection[/b:c7fefd996b] do seu TreeView para False.GOSTEI 0
Diogoalles
13/04/2005
HideSelection = False, já estava setada..
Será que não teria como trabalhar com o Node e mudar a fonte dele?
valeu
Diogo
Será que não teria como trabalhar com o Node e mudar a fonte dele?
valeu
Diogo
GOSTEI 0
Massuda
13/04/2005
HideSelection = False, já estava setada..
Será que você está fazendo TreeView.Selected = nil em algum ponto de seu código que esteja sendo executado no OnExit do TreeView?GOSTEI 0
Kapak
13/04/2005
O Treeview está com a cor clBtnFace ?
GOSTEI 0
Diogoalles
13/04/2005
a cor é uma específica.. ñ é clbtnface
quanto ao Node ñ tem como formatar?
valeu
quanto ao Node ñ tem como formatar?
valeu
GOSTEI 0
Diogoalles
13/04/2005
complementando ,
Também não existe nil
qualquer dica mandem ai
valeu
Diogo
Também não existe nil
qualquer dica mandem ai
valeu
Diogo
GOSTEI 0
Diogoalles
13/04/2005
e aí galera
ainda ñ consegui resolver...
alguem poderia ajudar ?
abraço
Diogo
ainda ñ consegui resolver...
alguem poderia ajudar ?
abraço
Diogo
GOSTEI 0
Diogoalles
13/04/2005
Alguém sabe como formatar a fonte de um Node? no caso do Node que estaria selecionado? pq ai estaria resolvendo o problema!
abraço
Diogo
abraço
Diogo
GOSTEI 0
Beppe
13/04/2005
Alguém sabe como formatar a fonte de um Node? no caso do Node que estaria selecionado? pq ai estaria resolvendo o problema!
abraço
Diogo
O Delphi não deixa fazer nada na fonte. O Windows permite botar um nó como negrito. Outro tipo de formatação acho que só pintado o nó por si mesmo(não sei se é possível).
GOSTEI 0
Kapak
13/04/2005
Outro tipo de formatação acho que só pintado o nó por si mesmo(não sei se é possível).
É possível utilizando o Canvas do Treeview no evento onCustomDrawItem.GOSTEI 0
Diogoalles
13/04/2005
Poderia me dar uma ideia da rotina ?
valeu
valeu
GOSTEI 0
Kapak
13/04/2005
if Node.Selected then begin Sender.Canvas.Brush.Color := clBlack; Sender.Canvas.Font.Color := clYellow; end else begin Sender.Canvas.Brush.Color := TTreeView(Sender).Color; Sender.Canvas.Font.Color := TTreeView(Sender).Font.Color; end;
GOSTEI 0
Diogoalles
13/04/2005
olá galera.. ainda ñ resolvi tudo..ehhehehe
coloquei o código do Kapak no evento OnCustomDrawItem e funciona perfeitamente quando existe item no treeview e clico no item.. ele fica destacado.
só que falta o seguinte:
- quando eu estou no Frm2 eu adiciono itens ao treeview do Frm1.
- ai qdo fecho Frm2 e volto ao Frm1 ñ existe nenhum item com o foco marcado conforme a rotina do kapak.
- eu tentei pelo Frm2 adicionar o item no tree e executar o codigo que esta no OnCustomDrawItem mas ñ funciona.
como posso fazer com que o item seja adicionado por outro form e fique marcado logo que ativar o Frm1 ?
abraço
Diogo
coloquei o código do Kapak no evento OnCustomDrawItem e funciona perfeitamente quando existe item no treeview e clico no item.. ele fica destacado.
só que falta o seguinte:
- quando eu estou no Frm2 eu adiciono itens ao treeview do Frm1.
- ai qdo fecho Frm2 e volto ao Frm1 ñ existe nenhum item com o foco marcado conforme a rotina do kapak.
- eu tentei pelo Frm2 adicionar o item no tree e executar o codigo que esta no OnCustomDrawItem mas ñ funciona.
como posso fazer com que o item seja adicionado por outro form e fique marcado logo que ativar o Frm1 ?
abraço
Diogo
GOSTEI 0
Macario
13/04/2005
Olá,
É so voce guardar o Index do Node quando for para o form2.
É so voce guardar o Index do Node quando for para o form2.
GOSTEI 0
Diogoalles
13/04/2005
ihhhhh,
testei aqui mas ñ sei se entendi...
guardar como?
e como executar o ondrawitem mesmo ñ clicando?
abraço
valeu
Diogo
testei aqui mas ñ sei se entendi...
guardar como?
e como executar o ondrawitem mesmo ñ clicando?
abraço
valeu
Diogo
GOSTEI 0
Kapak
13/04/2005
Vc quer que o ítem adicionado pelo Form2 fique selecionado ?
Bom, se for isso, a função que adiciona retorna um TTreeNode.
É só colocar:
Form1.Treeview1.Items.Add(nil, ´Item do Form2´).Selected := true;
Bom, se for isso, a função que adiciona retorna um TTreeNode.
É só colocar:
Form1.Treeview1.Items.Add(nil, ´Item do Form2´).Selected := true;
GOSTEI 0