PDA

Ver la Versión Completa : Cambiar Color a un Nodo del TreeView al preisonar alguna TECLA


AGAG4
02-10-2004, 20:40:53
Como puedo Cambiar el Estado Visual(Negritas/Cambio Tipo de Letra,etc.) de un Nodo del TreeView cuando presiono alguna tecla????

Tengo ideas una de ella es de declarar una variable tipo "tTtreeNode" que a su vez rastreará ó se posicionará en el Nodo Seleccionado con el objetivo de cambiar el Estado de este Nodo, pero no logro aterrizar la idea.:confused:

Cualquier sugerencia se los agradezco.

AGAG4
02-10-2004, 21:37:51
Ya tengo algo, en el OnKeyDown del TreeView al presionar por ejemplo el <ENTER> mando llamar el siguiente procedimiento:

procedure tform1.OnKeyDown(..)
begin
if key=13 then
CambiaEstado(tArbol.Selected);
end;

procedure tform1.CambiaEstado(Node: TTreeNode);
begin
if Assigned(Node) then
Node.TreeView.Canvas.Font.Color:=clRED;
end;


El detalle es que "EL NODO NO CAMBIA DE COLOR" :confused:, no se que me faltará ó este haciendo algo mal.
Cualquier sugerencia se los agradezco.

Lepe
03-10-2004, 10:58:20
la linea que cambia de color un nodo determinado, debes incluirla en el evento AdvancedCustomDrawItem del Treeview1.

Saludos

AGAG4
04-10-2004, 16:20:24
la linea que cambia de color un nodo determinado, debes incluirla en el evento AdvancedCustomDrawItem del Treeview1.
Saludos
Estoy de acuerdo con usted pero como mandaría a llamar ese evento con sus parámetros desde el OnKeyDown, porque lo quiero es que al presionar alguna tecla cambiar el Color del NODO????


procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);

AGAG4
04-10-2004, 18:37:33
Gracias de todas formas ya me respondía, encontre algo y mejor, un TreeView con CheckBox's, nos es como parece solamente se le agraga un ImageList 2 imagenes un Chech Habilitado y el otro deshabilidato agrego link para quienes les interece.

http://delphi.about.com/library/weekly/aa092104a.htm

Saludos.

Lepe
05-10-2004, 08:46:49
Quizás te pueda interesar más el VirtualStringTree (http://www.lischke-online.de/VirtualTreeview/VTGallery.php) trae ejemplos y demos, y puedes usarlo como un Treeview o como un ListView, simplemente alucinante, propiedades, métodos y eventos a mansalva ;)

Puede parecer un poco raro al principio porque te habla de punteros ..... pero te defines un par de tipos de datos y no usas punteros en tu codigo.

saludos

AGAG4
05-10-2004, 16:02:56
Muchas Gracias Sr. Lepe..... Que tenga buen día.