Ver Mensaje Individual
  #3  
Antiguo 22-07-2007
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Reputación: 21
mRoman Va por buen camino
Otro problema TreeView relacionado con imagenes

Cita:
Empezado por dec
Hola,

¿Y no ocupas tú ningún evento del "TreeView", quiero decir, ¿la imagen se cambia ella sola? ¿Cuando seleccionas un nodo o algo?
No, no estoy utilizando ningun evento del TreeView......de hecho desde anoche he estado buscandole....y ahora el problema ya no es ese, porque ya supe el porque me cambiaba las imagenes....no estaba utilizando la propiedad SelectIndex de la clase TTreeNode.

Ahora la bronca es otra, como le hago para q los nodos hijos tengan la misma imagen ?

Has de cuenta mi TreeView es como sigue:

+CLIENTE
····+NOTA1
····-SERVICIO 1
····Prenda 1
····Prenda 2
····Prenda 3
····+SERVICIO 2
····+NOTA2

Entonces necesito que los nodos NOTA1 y NOTA2 tengan la misma imagen y que los nodos SERVICIO 1 y SERVICIO 2 asi como los servicios q tenga el nodo de la NOTA2, tambien tengan la misma imagen.....en donde tambien una imagen para los nodos etiquetados en este ejemplo como "Prenda1, Prenda2, etc".


Mira este es el codigo....
Código Delphi [-]
procedure TfrmVerNotas.FormShow(Sender: TObject);
Var
   NodoNotas, NodoServicios,NodoPrendas,i,n,m,nNota, nNota2, nServicio, nServicio2:Integer;
   cCliente, cNotas,cServicio,cPrenda: TTreeNode;
   cNota, cServ, cPrendas:String;
begin
    i:=1;
    n:=2;
    m:=3;
    frmVerNotas.Caption:='Ver Notas';
    qryDatos.Close;
    qryDatos.ParamByName('CLIENTE').AsInteger:=frmGCliente.qryGCliente.fieldbyname('CLAVE_CLIENTE').AsIn  teger;
    qryDatos.Open;
    qryDatos.First;
    cCliente:=trvPrendas.Items.Add(nil,frmGCliente.qryGCliente.fieldbyname('NOMBRE_RAZON_SOCIAL').AsStri  ng);
//    trvPrendas.Items[0].ImageIndex:=0;
//    trvPrendas.Items[0].SelectedIndex:=0;
    While not (qryDatos.Eof) do
    begin
      nNota:=qryDatos.FieldValues['CONSEC_NOTA'];
      nNota2:=nNota;
      cNotas:=trvPrendas.Items.AddChild(cCliente,'Nota '+qryDatos.fieldbyname('CONSEC_NOTA').AsString+' Fecha Registro: '+qryDatos.fieldbyname('FECHA_REGISTRO').AsString);
//      trvPrendas.Items[i].ImageIndex:=1;
//      trvPrendas.Items[i].SelectedIndex:=1;
      While (nNota=nNota2) and not(qryDatos.Eof) do
      begin
           nServicio:=qryDatos.fieldbyname('clave_servicio').AsInteger;
           nServicio2:=nServicio;
           cServicio:=trvPrendas.Items.AddChild(cNotas,qryDatos.fieldbyname('SERVICIO').AsString);
//           trvPrendas.Items[2].ImageIndex:=2;
//           trvPrendas.Items[2].SelectedIndex:=2;
           While (nServicio=nServicio2) and not(qryDatos.Eof) do
           begin
               trvPrendas.Items.AddChild(cServicio,qryDatos.fieldbyname('PRENDA').AsString+'-'+qryDatos.fieldbyname('COLOR').AsString);
               qryDatos.Next;
               nServicio:=qryDatos.fieldbyname('CLAVE_SERVICIO').AsInteger;
{               if qryDatos.FieldByName('PRENDA_ENTREGADA').AsInteger=1 then
               begin
                 trvPrendas.Items[m].ImageIndex:=3;
                 trvPrendas.Items[m].SelectedIndex:=3;
               end Else Begin
                 trvPrendas.Items[m].ImageIndex:=4;
                 trvPrendas.Items[m].SelectedIndex:=4;
               end;
               inc(m);}
           end;
           nNota:=qryDatos.FieldValues['CONSEC_NOTA'];
//           inc(n);
      end;
//      inc(i);
    end;
end;

Hasta el momento esto me ha estado funcionando, pero solamente en NOTA1 del nodo padre, porq en el segundo (NOTA2) me pone la primer imagen q tiene ImagenList.

Si me puedes y tambien a todos los del foro, ayudar a resolverlo mucho se los agradecere....

Gracias de antemano por contestar.....
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita