![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Procesar VirtaulStringTree
Sigo a vueltas con este elemento. Me parece estupendo, pero me está costando verdaderos sudores trabajar con él. Siguiendo con el mismo "bicho" de mi anterior hilo, tengo este árbol:
![]() Para procesar los nodos seleccionados uso este código para rellenar un TListView de otro formulario: Código:
TListItem *pItem; PVirtualNode Nodo1, Nodo2; Nodo1 = Mesas->GetFirst(); while (Nodo1 != NULL) { if (Mesas->CheckState[Nodo1] > csUncheckedPressed) { Nodo2 = Mesas->GetNext(Nodo1); while (Nodo2 != NULL && Nodo2->Parent == Nodo1) { if (Mesas->CheckState[Nodo2] > csUncheckedPressed) { pItem = fEscrutinio->LisMesas->Items->Add(); pItem->Caption = ((PTreeEle)Mesas->GetNodeData(Nodo1))->Municipio; pItem->SubItems->Add(((PTreeEle)Mesas->GetNodeData(Nodo2))->Municipio); pItem->SubItems->Add(FormatFloat("#,###", ((PTreeEle)Mesas->GetNodeData(Nodo2))->Censo)); pItem->SubItems->Add(FormatFloat("#,###", ((PTreeEle)Mesas->GetNodeData(Nodo2))->Votos)); pItem->SubItems->Add(((PTreeEle)Mesas->GetNodeData(Nodo2))->CodMes); } Nodo2 = Mesas->GetNextSibling(Nodo2); } } Nodo1 = Mesas->GetNextSibling(Nodo1); } |
#2
|
||||
|
||||
Aquí tienes ejemplos de virtualtreeview que pueden servirte, aunque es object pascal, no c++
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Cita:
|
#4
|
||||
|
||||
Estuve viendo el código del enlace. Muy interesante. Probándolo me he dado cuenta de una cosa: una vez que el nodo se ha expandido el bucle qe puse en mi mensaje funciona a la perfección aunque luego se contraigan todos los nodos; es como si hasta que no se expande totalmente no supiera lo que hay. Lo que no encuentro es como expandir todo el árbol; sé que lo hice pero no recuerdo como.
|
#5
|
||||
|
||||
![]() ¡NO HE DICHO NADA! Me estaba empeñando en poner ExpandFull cuando el procedimiento es justo al revés: FullExpand.
|
#6
|
||||
|
||||
vstArbol.FullExpand;
vstArbol.FullCollapse;
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
Gracias. Y ya he comprobado que si una vez cargado el árbol se ejecutan ambos al procesar los nodos lo hace bien.
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Forma de procesar Pagos | feliz-58 | Varios | 0 | 03-10-2017 05:14:12 |
Procesar mensajes de un hilo | jars | OOP | 1 | 15-12-2012 20:24:26 |
Procesar Archivos XML en Delphi 7 | nlsgarcia | Varios | 8 | 20-10-2012 20:56:08 |
Procesar mensajes/Esperar | Anel Hernandez | Varios | 1 | 20-01-2012 07:31:34 |
Procesar video | andressanchez | Gráficos | 3 | 14-01-2012 19:29:04 |
![]() |
|