Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Por lo que puedo ver, lo que tu quieres es agregar una especie de iconos para distinguir los tipos de registros, pues bien, lo que primero debes hacer, es deterninar el tipo de registro que es, (cliente, nota, servicio) luego almacernar este tipo de servicio en una propiedad del TREENODE (FIJATE QUE ES TREENODE y no TREEEVIEW a lo que me refiero). Luego en el evento OnGetImageIndex del treeview escribes código para leer el tipo de registro y asignarle al treenode el imageIndex que necesites, así como también lo debes hacer con la propiedade SelectedImageIndex y si has asignado un stateImage al treeview también lo debes hacer con la propiedad StateImage del treenode.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #2  
Antiguo 28-07-2007
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Imagenes TreeVIew

Cita:
Empezado por D&W
Por lo que puedo ver, lo que tu quieres es agregar una especie de iconos para distinguir los tipos de registros, pues bien, lo que primero debes hacer, es deterninar el tipo de registro que es, (cliente, nota, servicio) luego almacernar este tipo de servicio en una propiedad del TREENODE (FIJATE QUE ES TREENODE y no TREEEVIEW a lo que me refiero). Luego en el evento OnGetImageIndex del treeview escribes código para leer el tipo de registro y asignarle al treenode el imageIndex que necesites, así como también lo debes hacer con la propiedade SelectedImageIndex y si has asignado un stateImage al treeview también lo debes hacer con la propiedad StateImage del treenode.
Gracias...checare eso.. !
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #3  
Antiguo 27-05-2012
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
Imagenes en los nodos

Hola cris:

Cita:
Por lo que puedo ver, lo que tu quieres es agregar una especie de iconos para distinguir los tipos de registros, pues bien, lo que primero debes hacer, es deterninar el tipo de registro que es, (cliente, nota, servicio) luego almacernar este tipo de servicio en una propiedad del TREENODE (FIJATE QUE ES TREENODE y no TREEEVIEW a lo que me refiero). Luego en el evento OnGetImageIndex del treeview escribes código para leer el tipo de registro y asignarle al treenode el imageIndex que necesites, así como también lo debes hacer con la propiedade SelectedImageIndex y si has asignado un stateImage al treeview también lo debes hacer con la propiedad StateImage del treenode.
me pasa lo mismo que mRoman, he intentado hacer lo que propones , pero no he tenido exito. Perdon pero me podrias ampliar la solucion ?

Gracias

Luis Roldan
Mar del Plata
Argentina
Responder Con Cita
  #4  
Antiguo 27-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Chaja.

Si el problema es el que menciona mRoman inicialmente:
Cita:
... entonces necesito saber como hacerle para que cuando yo seleccione un servicio no me cambie la imagen con otra q se encuentra dentro del ImageList
Basta con poner el mismo índice a las propiedades ImageIndex y SelectedIndex en cada Item .

Ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i:= 0 to TreeView1.Items.Count-1 do
  begin
    TreeView1.Items.Item[i].ImageIndex:= i;
    TreeView1.Items.Item[i].SelectedIndex:= i;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 27-05-2012
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
gracias.... caso solucionado.... lo que me falta aprender es como usar la priedad Data
si tenes un ejemplo practico estaria bueno, ahora si yo uso esta propiedad, se puede usar la forma tradicional tambien? es decir

Código Delphi [-]
 
Nodo1 := tvListado.Items.AddChild(tvListado.Items[N],
             CDSStockCODIGO_STK.AsString + '-' + CDSStockDETALLE_STK.Value);

lo que quiero es agrgar mas datos dentro de cada nodo..

sos una masa.... ( masa entiendase por un tipo con buena onda, dispuesto a yudar, o sinonimos a estos)

Luis Roldan
Mar del Plata
Argentina
Responder Con Cita
  #6  
Antiguo 28-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Luís.

Te pongo un ejemplo simple que utiliza la propiedad Data, espero que te sea útil...
Código Delphi [-]
type
  TMiClase = class(TObject)
    Texto: string;
    //...
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Nodo: TTreeNode;
  MiClase: TMiClase;
begin
  Nodo:= nil;
  MiClase:= TMiClase.Create;
  MiClase.Texto:= '¡Joya! justo sobre el nodo';
  TreeView1.Items.AddChildObject(Nodo, 'Hace click aquí', MiClase);

end;

procedure TForm1.TreeView1Click(Sender: TObject);
var
  Nodo: TTreeNode;
  P: TPoint;
begin
  P:= ScreenToclient(Mouse.CursorPos);
  Nodo:= TreeView1.GetNodeAt(P.X, P.Y);
  if Nodo <> nil then
    ShowMessage(TMiClase(Nodo.Data).Texto)
  else
   ShowMessage('¡ Pif ! );
end;

Cita:
sos una masa....
Muchas gracias

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 28-05-2012
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
A mí no me gusta para nada hacer el moldeo de tipos (no hay más remedio, por eso uso siempre una función tonta):
Código Delphi [-]

function TMiClase.AsMiClase : TMiClase
begin
   Result := Self
end;

así se hace más clara la lectura del código:

Código Delphi [-]
ShowMessage(Nodo.Data.asMiClase.Texto)

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imagenes mas grandes en un TreeView hmrvivas OOP 1 13-07-2007 06:02:43
TreeView cambio de imagenes Manuel Varios 2 25-09-2006 15:53:18
Imagenes en el TreeView Gustavo Gowdak OOP 2 13-12-2004 02:25:10
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 Varios 2 08-04-2004 22:47:30
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 OOP 1 08-04-2004 22:42:44


La franja horaria es GMT +2. Ahora son las 23:40:17.


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
Copyright 1996-2007 Club Delphi