Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   como agragar una imagen diferente a cada nodo en un treeview ayuda!!!!! (https://www.clubdelphi.com/foros/showthread.php?t=67160)

jazmin 01-04-2010 20:59:35

como agragar una imagen diferente a cada nodo en un treeview ayuda!!!!!
 
Hola!!!!!!!!!!!:o:o:o


tengo una preguntota;)


si tengo una treeview y le quiero agragar imagencitas a los nodos pero dependiendo el texto que diga como le hago?:confused:

al momento de insetarlos como indico que imagen van a llevar?:p

ecfisa 05-04-2010 02:50:58

Hola abdul.

Siendo sincero, no tengo bien en claro que es lo que queres hacer...

Pero por algo tenemos que empezar, la idea es ayudar y ser ayudados ...:)

Para agregar imágenes a un TreeView:
1.- Tener las imágenes situadas en algún medio de almacenamiento.
2.- Agregar un componente ImageList (Paleta Win32) al Form.
3.- Click botón derecho sobre el ImageList y Click en el ítem ImageListEditor.
.Click sobre el botón Add y seleccionar de a una las imágenes que quieras.
4.- Sobre el componente TreeView click botón derecho y abrir ItemsEditor.
. En ImageIndex poner el número de índice que se corresponde con el de la imágen del ImageList.

Si no es esto lo que buscabas, explicitate un poco mas o agrega el código de lo que estas haciendo.

Saludos.

jazmin 05-04-2010 14:30:41

perdon creo que no me explique bien
lo que quiero es por ejemplo decir
tienes un tree view con 3 nodos padres ya definidos desde el inicio
por ejemplo galletas refrescos golosinas y lo que yo quiero es que el usuario agregue a esos nodos padres otros sub nodos por ejemplo en el nodo refrescos que agregues
coca con el icono de la coca, fanta con su icono etc.
me lo imagino asi

digamos el edit1 seria para que digas el nodo padre al que vas a agregar un sub nodo.
en el edit2 digas el nombre del nodo que vas agregar.
y en el edit3 el image index ( el numero de imagen que le quieres agregar)
y con el boton1 agregar eso a un treeview.

ojala me explique bien porque a veces creo que no me doy bien a entender ji ji ji

Caro 05-04-2010 16:46:37

Hola abdul, te pongo un ejemplo para añadir un nodo hijo dentro de un item seleccionado en el TreeView, para agregarle su propia imagen es como te ha explicado ecfisa en el punto 4 solo que por código:

Código Delphi [-]
var
 NodoHijo : TTreeNode;
begin
 NodoHijo := TreeView1.Items.AddChild(TreeView1.Selected, Edit2.Text);
 Ind := StrToInt(Edit3.Text);
 NodoHijo.ImageIndex :=  Ind;
 NodoHijo.SelectedIndex :=  Ind;
 ................................................

Saluditos

Enan0 07-04-2010 17:22:24

Aprobechando el codigo de Abdul hago el siguiente comentario..


yo utulizo el TreeView para hacer una especia de Carpetas de Correo.

Nivel 0 (nombre de la Cuenta)
Nivel 1 (sub carpetas, Inbox, Sent.. etc).


ahora bien. cuando pongo un Icono en el Nivel 0, (y distintos o ninguno en nivel 1). al hacer Click en cualquier de los hijos (niveles 1) Cambia automaticamente el Icono del Item seleccionado al del Padre (nivel 0).


Código Delphi [-]
var
  node:TTreeNode;
  child:TTreeNode;
begin
    Node:=TreeView1.Items.AddObjectFirst(nil,'cuenta1',PChar('Cuenta1'));
// esta linea fue agregada para probar su funcionamiento.. (igual resultado)
    TreeView1.Items.Item[node.AbsoluteIndex].ImageIndex:=0;
//fin test
    node.ImageIndex:=0;
    TreeView1.Items.AddChildFirst(node,'@Inbox').ImageIndex:=1;
    TreeView1.Items.AddChild(node,'@SentItems').ImageIndex:=1;

    node:=nil;


     Node:=TreeView1.Items.AddObject(nil,'Cuenta2',PChar('cuenta2'));
    TreeView1.Items.Item[node.AbsoluteIndex].ImageIndex:=0;
    node.ImageIndex:=0;
    TreeView1.Items.AddChildFirst(node,'@Inbox').ImageIndex:=1;
    TreeView1.Items.AddChild(node,'@SentItems').ImageIndex:=1;

    node:=nil;


La franja horaria es GMT +2. Ahora son las 01:39:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi