Treeview en lenguaje coloquial. Mi aporte Más sencillo imposible

2,602 views
Skip to first unread message

Elides Paredes

unread,
Dec 12, 2016, 10:20:03 AM12/12/16
to Comunidad de Visual Foxpro en Español

Estimados amigos

Treeview en lenguaje coloquial. Mi aporte Más sencillo imposible

Hace literalmente varios años he querido incorporar éste control en mis aplicaciones porque siempre me ha parecido el ideal para mostrar datos de forma jerárquica, y lo he necesitado en muchas oportunidades y no había podido lograrlo.

Hasta que consulté en el foro y me dieron unas ideas. Sin embargo, fue en la web de damtong donde conseguí el ejemplo mas sencillo y como fue con ese que pude entenderlo, lo modifique al lenguaje mas coloquial que pude para publicarlo y asi puedan otros también aprovecharse  de ese trabajo. (Adjunto link en el ejemplo). El formulario ejemplo que trae VFP es incluso sencillo de entender, pero una vez conocida la lógica del control, antes me fue imposible. Y los que presentó el maestro Luis María, que hacen de manera genial todo lo que necesito, me resultan en extremo difíciles. Aunque ya los entiendo; pero,  no puedo lograr hasta hoy 12 de diciembre del 2016, adaptarlos a mis aplicaciones. Aunque ahí voy. Esa es la meta.

Al principio, cuando comencé a participar en el foro,  fue muy curioso para mi saber que otros tenían mis mismas inquietudes, así que pensando en ellos, decidí hacer lo que han hecho muchos genios de éste foro ayudar a otros. Pero traduciendo el lenguaje complejo de esos maestros al lenguaje coloquial, que considero puede llegar mas a los novatos.

Antes de mostrar mi código ejemplo. Quiero explicar con mis palabras lo que logré entender.

El control TreeView es como la gaveta de un archivador, si tengo varias carpetas,  que para el ejemplo puse las carpetas de los personajes de “El Chavo del 8”, algo que todo el mundo conoce, y esas carpetas quiero almacenarlas con las instrucciones del control TreeView. Mi lógica es la siguiente.

La primera carpeta tiene que ser necesariamente raíz, no puedo meter la carpeta de “Kiko” que tiene una madre, porque debe estar organizada de forma jerárquica en la carpeta de la madre, Lo mismo con la chilindrina, va en la carpeta de su padre.

Pero si puedo meter al chavo de primero porque no tiene padres ni hijos.

Ahora si meto las carpetas de todos los padres, puedo meter a los hijos, poniendo como referencia sus padre para que las carpetas queden organizadas de forma jerárquica. Porque,  si quiero conseguir a Kiko debo buscar a la mamá, Florinda.

Cuando se habla de padres o madres e hijos y también hijas, nuestro cerebro por lógica busca abuelos y nietos y eso no existe en el control. Aunque si existen hermanos, (Y nadie lo menciona) o sea nodos que tienen la misma jerarquía.

Así que mi lógica para agregar nodos es agregar primero los nodos raíces, los que no tienen padres, y pueden tener o no nodos hijos. Quienes van a dependen de un padre. Luego puedo también agregar los nodos hermanos que están al mismo nivel de un nodo en particular, en ese caso (de hermanos) no necesito especificar si es hijo o raíz.

Le doy la referencia primero, lo que se llama padre, (pero que a mi modo de ver es preferible llamarlo referencia, porque no tiene que ser padre ni hijo, para ponerlo  como referencia) ese nuevo nodo correspondería al  tipo de hermano, entonces coloco el valor numérico del  tipo de nodo (segundo parámetro de la función Add) parámetro 0 (cero)  si es primero, 1 para último, 2 siguiente y  3 anterior. Cualquiera teniendo en cuenta  al nodo de referencia.

Toda ésta teoría en “Lenguaje Coloquial” se entiende mejor con el siguiente código que les recomiendo que copien y ejecuten para que  vean lo sencillo que ahora resulta hacer un control TreeView.

Algo que me costó muchísimo entender, es lo de los últimos 2 parámetros. Porque VFP no se maneja así. En el init del TreeView se indica con una súper tonta línea que las imágenes del nodo sin seleccionar las tome de otro control, el número que se coloca primero es un índice. Si coloco 1 toma la primera imagen del otro control, si coloco 2 la segunda imagen contenida en el otro control, que de paso no es tampoco de VFP, por tanto no es muy intuitivo. El sexto parámetro de la función add es similar, la imagen que se coloca en el treeview pero cuando el nodo está seleccionado.

Bueno. Así quedó el PRG, espero les sea útil.

Gracias a todos los maestros que me han ayudado a llegar a éste nivel, no de maestro, pero si de auxiliar docente..jajaja..

Ahora entiendo el placer que se siente al ayudar a otros.


* Aqui comienza el PRG

*------Ejemplo-basico-de-treeview-207/

* http://www.davphantom.net/consulta


* Defino las constantes algo que  tiene sus ventajas

* Aunque yo prefiero usar los número en programas como este 

* sencillos, No obstante es la forma como se debe hacer

* para reutilizar códigos. etc.. 


#Define Primero   0 

#Define Ultimo      1

#Define Siguiente 2 

#Define Anterior   3

#Define Hijo          4


* Así lo presentan los maestros pero para mi resulta 

* mas difíil de comprender..


*!* #Define tvwFirst 0

*!* #Define tvwLast 1

*!* #Define tvwNext 2

*!* #Define tvwPrevious 3

*!* #Define tvwChild 4


oForm = Createobject('miForm')

oForm.Caption = "Ejemplo de Treeview"


With oForm

      With .Tree

          .Left      = 10

          .Top      = 10

          .Width  = 640

          .Height = 650 

          

          * Los nodos Raíces no llevan el primer parámetro,

          * El segundfo parámetro es un valor numérico 

          * que indica la ubicación que se le quiere

          *  dar al nodo. (En este caso es cero)

          * El tercer parámetro es el código de Referencia

          * Chavo. Este personaje no tiene hijos ni padre

          * El cuarto parámetro es el Texto que verá el usuario

          * "Chavo del 8"

          * El quinto y sexto parámetro son índices que ubican

          * en otro control las imagenes que se presentan en el nodo

          * cuando está contraído y cuando está expandido o seleccionado

          * Pero en éste caso lo he omitido no hay imágenes

          *------------------------------------------------------

        oForm.Tree.Nodes.Add(,0,"Chavo",' Chavo del 8 Protagonista').bold=.T.

        

        *Observe que luego de mandar con la función los parámetros

        * al objeto, le doy al mismo tiempo la propiedad al nodo bold 

        * o negritas 

        

        

          .Nodes.Add(,Ultimo,"Bruja",'Bruja del 78 doña Clotilde')

         * con la instrucción anterior agrego otro personaje

         * que tampoco tiene padre ni hijos, la muestro en la Raíz

         

          .Nodes.Add(,Anterior,"Ramon",'Don Ramon Padre de chilindrina')

          * Este personaje tiene hija, pero hasta ahora no se ha 

          * nombrado, solo en el "Archivo" hay 3 "carpetas"

          * Es raíz lo escribí después de bruja, pero le estoy diciendo 

          * que lo coloque de primero relativo, primero entre los

          * escritos hasta ahora, no necesariamente queda primero

          * le puedo colocar otro nodo de primero y éste ya no lo será

          

          

          * El hijo lleva como primer parámetro el código del padre

          * Aunque prefiero llamarlo referencia en lugar de padre

          * El cual hasta ahora no se había guardado

          * el segundo parámetro indica tipo de nodo que algunos

          * llaman  Hijo, prefiero llamarlo clave para entenderlo mejor

          * porque si quiero agregarle otro hijo es mas fácil referiem a 

          * ese nodo como el padre de otro o la referencia con la que

          * se va a colocar el siguiente nodo 

          * para decir que coloque un nodo debajo el doy el valor 4 

          * (al tercer parámetro)

          * tipo de nodo 4 significa que es un hijo. Se debe tener el cuidado 

          * al decir que es un hijo, se debe indicar quien es el padre

          * Luego viene (En lugar de 4 escribí hijo)

          *------------------------------------------------------

          *Chilindrina es el padre

          * Hijo = 4 le dice que el nodo es hijo

          

         .Nodes.Add('Ramon',Hijo,"Chilindrina",'Chilindrina Hija de Don Ramón').Bold=.T.

         * así incluimos un nodo que depende de otro

         

         *Agregamos otro padre

          .Nodes.Add(,3,"Barriga",'Señor BarrigaPadre del Ñoño')

          

         *Agregamos otro padre   o Madre        

          .Nodes.Add(,3,"Florinda",'Doña Florinda madre de Kiko')       

            

         *Agregamos otro Su hijo 

         .Nodes.Add('Barriga',Hijo,"Nono",'Ñoño Hija del Señor Barriga')

         

         *Agregamos otro Su hijo          

         .Nodes.Add('Florinda',Hijo,"Kiko",'Kiko es  Hijo de Doña Florinda')   

               

         * El siguiente nodo sería como un nieto porque tiene como

         * padre = Kiko quien es hija de Florinda

         * Recuer que Hijo = 4 significa hijo.

         * perrito es el valor de la hija de Kiko (hija de Florinda)

         * Pero en el control no se define nieto, solo hijo

         

        .Nodes.Add('Kiko',Hijo,"Perro",'Perrito  hijo de Kiko')

         

         * Ahora Puedo crear un nodo que se coloca previo a otro nodo

         * no importa si es padre o hijo es previo

         * Anterior vale 3 o sea el Previo

         *-------------------------------------

          With .Nodes.Add('Florinda',Anterior,"Jirafales",'Prof Jirafales Anterior a Florinda')

.Bold=.T.

          ENDWITH

          

          * Ahora Puedo crear un nodo que se coloca 

          * después de otro nodo

         * no importa si es padre o hijo es siguiente

         * Siguiente vale 3 o sea el Previo

         *-------------------------------------        

          

            With .Nodes.Add('Chavo',Siguiente ,"Pati",'Pati después del Chavo')

.Bold=.T.

.Forecolor = RGB(0,0,255)

          ENDWITH   

               

               With .Nodes.Add('Kiko',Primero ,"Pedrito",'Pedrito (Hermano nuevo) va primero que Kiko')

.Bold=.T.

.Forecolor = RGB(0,0,255)

          ENDWITH      

    

            


          For Each oNode In .Nodes

oNode.Expanded = .T.

          Endfor

      Endwith

.Show()


Endwith


Read Events


Define Class miForm As Form

         Add Object Tree As OleControl With ;

         Name     = 'Tree',OleClass='MSComCtlLib.TreeCtrl'

 WIDTH  = 650

 HEIGHT = 550

 

         Procedure Init

With This.Tree


.linestyle      = 1

.Font.Name  = 'Tahoma'

.Font.Size     = 14

.indentation = 5


Endwith


Endproc


Procedure QueryUnload

             Clear Events

             EndProc

Enddefine



Saludos.

Elides Paredes

Barquisimeto Venezuela

 

Euro Nava

unread,
Dec 12, 2016, 10:50:14 AM12/12/16
to publice...@googlegroups.com

Gracias por compartirlo

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios


Se certificó que el correo no contiene virus.
Comprobada por AVG - www.avg.com
Versión: 2016.0.7924 / Base de datos de virus: 4728/13580 - Fecha de la versión: 12/12/2016

Carlos Hidalgo

unread,
Dec 12, 2016, 10:53:06 AM12/12/16
to publice...@googlegroups.com

Gracias Elides por el aporte voy a probarlo..
Bastante didáctico... 
Sencillamente explicado..
Saludos y bendiciones..
 
A simple vista encontré un error
La bruja es del 71 no del 78.. :-)

Irwin Rodriguez

unread,
Dec 12, 2016, 11:04:52 AM12/12/16
to publice...@googlegroups.com
Gracias por el aporte compañero Elides, todas las contribuciones son gratamente bienvenidas a la comunidad...!

Saludos...!
--
DISTRIBUIDORA IRSESU, C.A
J-29947174-7
Irwin Rodríguez
- Director
Analista Programador - Freelance
+584125210679

Barquisimeto - Venezuela
Desarrollos online dentro y fuera del país

Antonio Meza

unread,
Dec 12, 2016, 11:31:13 AM12/12/16
to Comunidad de Visual Foxpro en Español
Hola!!

Me marca error el código en esta linea

         Add Object Tree As OleControl With ;

que corresponde a:

Define Class miForm As Form

         Add Object Tree As OleControl With ;

         Name     = 'Tree',OleClass='MSComCtlLib.TreeCtrl'

 WIDTH  = 650

 HEIGHT = 550


saludos
Antonio Meza

Carlos Hidalgo

unread,
Dec 12, 2016, 11:44:20 AM12/12/16
to publice...@googlegroups.com
Ya lo prove y funciono perfecto...
Quiza falte un mensajito que diga que uno selecciono tal personaje

Gracias 

Elides Paredes

unread,
Dec 12, 2016, 12:18:07 PM12/12/16
to Comunidad de Visual Foxpro en Español


Que tal Amigo Antonio.
¿Y que dice el error? 

Será que dejaron de pasar El Chavo en tu país? jajaja.

Elides Paredes

unread,
Dec 12, 2016, 12:24:57 PM12/12/16
to Comunidad de Visual Foxpro en Español
Disculpa Antonio, 

No resistí la tentación de hacer el comentario.  Me hizo mucha gracia.. Y luego me interrumpieron antes de terminar.
La verdad como en todos los errores, es necesario saber que error arroja el sistema.Revisa si hubo un cambio de algún. Porque eso no tiene nada especial y a mi me funcionó como a otros.
En todo caso te recomiendo que hagas click también en el link de la fuente original. http://www.davphantom.net/consulta  

Saludos
Elides Paredes Guayan Espina del Bozzo..

Antonio Meza

unread,
Dec 12, 2016, 12:36:18 PM12/12/16
to Comunidad de Visual Foxpro en Español
El chavo es originario de mi país México vivía a la vuelta de mi vecindad jajajaja es mas un tío le quería chupar la paleta a la popis jajajaja

anexo captura de error, y el chavo le pregunto a don ramón "y su abuelita programaba en VFP?" y dijo tomaaaaaa, y no te doy otra nomas porque ella programaba desde dbase jajajajaj

saludos
Antonio Meza
la_abuelita_de_don_ramon.PNG

Elides Paredes

unread,
Dec 12, 2016, 12:58:29 PM12/12/16
to Comunidad de Visual Foxpro en Español
Amigo Antonio 
Después del ; (Punto y coma) no hay una línea le insertaste un espacio quizás un carácter Return. Por eso da error.. como diría la chilindrina Fíjate, fíjate, fíjate..jajaja..

Antonio Meza

unread,
Dec 12, 2016, 1:56:34 PM12/12/16
to Comunidad de Visual Foxpro en Español
Porque menor no pasas el prg ya que copiar y pegar me esta haciendo la torta de jamón!!! jajaja

saludos

Jose Mario

unread,
Dec 12, 2016, 2:02:04 PM12/12/16
to Comunidad de Visual Foxpro en Español
ese link ya da error

exl260708 .

unread,
Dec 12, 2016, 2:57:25 PM12/12/16
to publice...@googlegroups.com
no funciona el link..........

Douglas Sánchez

unread,
Dec 12, 2016, 3:11:32 PM12/12/16
to publice...@googlegroups.com
Hola, Antonio es por los Espacio quitalos, aca yo los quité
Slds
        .Nodes.Add('Ramon',Hijo,"Chilindrina",'Chilindrina Hija de Don Ramón').bold=.T.

* así incluimos un nodo que depende de otro
*Agregamos otro padre
        .Nodes.Add(,3,"Barriga",'Señor BarrigaPadre del Ñoño')
*Agregamos otro padre   o Madre
        .Nodes.Add(,3,"Florinda",'Doña Florinda madre de Kiko')
*Agregamos otro Su hijo
        .Nodes.Add('Barriga',Hijo,"Nono",'Ñoño Hija del Señor Barriga')
*Agregamos otro Su hijo
        .Nodes.Add('Florinda',Hijo,"Kiko",'Kiko es  Hijo de Doña Florinda')
* El siguiente nodo sería como un nieto porque tiene como
* padre = Kiko quien es hija de Florinda
* Recuer que Hijo = 4 significa hijo.
* perrito es el valor de la hija de Kiko (hija de Florinda)
* Pero en el control no se define nieto, solo hijo
        .Nodes.Add('Kiko',Hijo,"Perro",'Perrito  hijo de Kiko')
* Ahora Puedo crear un nodo que se coloca previo a otro nodo
* no importa si es padre o hijo es previo
* Anterior vale 3 o sea el Previo
*-------------------------------------
        With .Nodes.Add('Florinda',Anterior,"Jirafales",'Prof Jirafales Anterior a Florinda')
            .bold=.T.
        Endwith

* Ahora Puedo crear un nodo que se coloca
* después de otro nodo
* no importa si es padre o hijo es siguiente
* Siguiente vale 3 o sea el Previo
*-------------------------------------
        With .Nodes.Add('Chavo',Siguiente ,"Pati",'Pati después del Chavo')
            .bold=.T.
            .ForeColor = Rgb(0,0,255)
        Endwith

        With .Nodes.Add('Kiko',Primero ,"Pedrito",'Pedrito (Hermano nuevo) va primero que Kiko')
            .bold=.T.
            .ForeColor = Rgb(0,0,255)
        Endwith

        For Each oNode In .Nodes
            oNode.Expanded = .T.
        Endfor
    Endwith
    .Show()
Endwith
Read Events

Define Class miForm As Form
    Add Object Tree As OleControl With;
    Name     = 'Tree',OleClass='MSComCtlLib.TreeCtrl'
    Width  = 650
    Height = 550


Procedure Init
    With This.Tree
        .linestyle      = 1
        .Font.Name  = 'Tahoma'
        .Font.Size     = 14
        .indentation = 5
    Endwith
    Endproc
Procedure QueryUnload
    Clear Events
    Endproc
Enddefine

integral

unread,
Dec 12, 2016, 8:19:13 PM12/12/16
to Comunidad de Visual Foxpro en Español

Que tal amigo ELIDES :

Solo una acotacion, cuando desees pegar un codigo deberas antes dar click enla opcion que aparece con 2 llaves

Aca un ejemplo...

,Text To m.lcSelect Textmerge Noshow Pretext 15
    Select  con.CodTer
          , Sum(con.CreCom - con.DebCom)             As AportesCon
          , Sum(apo.Apor_ValAporte - apo.Apor_Abono) As Aportes
          , Sum(apo.Apor_ValAporte - apo.Apor_Abono)
              - Sum(con.CreCom - con.DebCom)         As ValDif
        From      cn_Contable  As con
        Left Join coo_mAportes As apo
            On con.CodTer = apo.Apor_CodTer
        Where  CodCue In ("31050501", "31051001", "31052001", "31050502" )
            And apo.Apor_EstFac <> "A"
        Group By CodTer
        Order By CodTer
Endtext

If Not EjeMySQL(m.lcSelect, "Aportes", 2)
    Return
Endif


Tu código tal cual aparece lo copio y lo ejecuto y da varios errores...

Espero no te molestes por la acotacion...

Saludos,

INTEGRAL

Elides Paredes

unread,
Dec 12, 2016, 9:31:33 PM12/12/16
to Comunidad de Visual Foxpro en Español
Que tal  amigo Integral.?


No entiendo dos cosas, Primero, porque habría de molestarme? Al contrario todo lo que sea aprender es mi comida favorita..jajaja..
 
La otra cosa que no entiendo es ¿ de que llaves hablas?

El problema fue que lo seleccioné directo del PRG, copié y pegué, sin pensar ese detalle de los caracteres de retorno. Porque tengo algunos caracteres Retorno de cuando escribí el código y supongo que ese es el problema a la hora de copiar y pegar.

En realidad es la primera vez que lo hago. Y a mi juicio lo mas importante que el código es entender la idea, aunque como a todos a mi también me gusta probar que funciona. Y Por eso la próxima vez lo envío como archivo adjunto. Pero me sigue la duda, de que llaves hablas?

Un gusto saludarte amigo Integral.
De hecho, gracias por comentar.

 

Elides Paredes

Barquisimeto Venezuela

 

Elides Paredes

unread,
Dec 12, 2016, 9:40:42 PM12/12/16
to Comunidad de Visual Foxpro en Español
Ya entiendo lo que sucedió con el link, es que para entrar a las descargas debe estar uno registrado en la página. Entones, no se puede entrar directamente. Pero pueden buscarlo, ese señor publica también muchos otros temas muy interesantes, He aprendido mucho de ese sitio, prueben con éste.
Y si no funciona búsquenlo directamente y se suscriben, mi intención por su puesto no es hacerle publicidad, pero debo reconocer que es muy recomendable para nosotros..

Saludos a todos.
Elides Paredes

Elides Paredes

unread,
Dec 13, 2016, 5:04:19 AM12/13/16
to Comunidad de Visual Foxpro en Español
Adjunto de nuevo el PRG, creo que así ayuda mas. Disculpen por la falta de experiencia haciendo ésto, pero mi idea es ayudar, Así como me han ayudado a mi.

Saludos. 
Elides Paredes

treeview web daphtom.adaptado2.prg

Luis Maria Guayan

unread,
Dec 13, 2016, 7:24:22 AM12/13/16
to publice...@googlegroups.com

Debes quitar las lineas intermedias que se generaron con el CORTAR y PEGAR del mensaje original


Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

El 12/12/16 a las 14:36, Antonio Meza escribió:

Irwin Rodriguez

unread,
Dec 13, 2016, 10:46:02 AM12/13/16
to publice...@googlegroups.com
PROCEDURE ESCENA_DEL_CHAVO
Local lcDialogo, lnPos, lcLinExt
lcLinExt = ""
lcDialogo = "y la próxima vez, vaya a depurar lineas de código con su ABUELAAA...!!!" DO HABLAR WITH lcDialogo, "Doña Florinda" lcDialogo = "Señor..?, a su abuelita también le gusta programar???" DO HABLAR WITH lcDialogo, "El Chavo" lcDialogo = "TOMAAAAAAAAAAA......!!!!!!!!!" DO HABLAR WITH lcDialogo, "Don Ramón" lcDialogo = "Pi" For lnPos = 1 To 15 Step 1 lcLinExt = lcLinExt + lcDialogo DO HABLAR WITH lcDialogo, "El Chavo" Next DO HABLAR WITH lcLinExt, "Don Ramón" && Ron Damón tambien remeda al chavo sarcasticamente despues de lloriquear. lcDialogo = "y no te doy otra nomás porque... Mi abuelita creó el sistema de cobros del Mariachi Vargas...!!!" DO HABLAR WITH lcDialogo, "Don Ramón" ENDPROC
No es viernes pero por aquello de los energumenos...!!!

Saludos...!!!


Carlos Hidalgo

unread,
Dec 13, 2016, 11:36:40 AM12/13/16
to publice...@googlegroups.com
jajajajajajajajaja

muy bueno (la abuelita usaria Fox 2.5 o inferior)

Elides Paredes

unread,
Dec 13, 2016, 12:39:07 PM12/13/16
to Comunidad de Visual Foxpro en Español

Amigo Erwin.
 
No me corre. Da un error  1035 
dice "is that your not me have patience"
¿Qué será eso? no entiendo lo que dice la computadora..

Elides Paredes.


Elides Paredes

unread,
Dec 13, 2016, 12:42:21 PM12/13/16
to Comunidad de Visual Foxpro en Español
Gracias  maestro,es un honor que usted lea mi mensaje

Saludos

Elides Paredes
Barquisimeto Venezuela
 

integral

unread,
Dec 13, 2016, 1:35:55 PM12/13/16
to Comunidad de Visual Foxpro en Español

Que tal Amigo ELIDES :

Ahora si se pudo ejecutar sin problemas el ejemplo del código mostrado.

Solo un comentario sin desmerecer tu trabajo, pero ahora esta pegando un poco el estilo que muestro en la imagen adjunta 

Hasta la próxima.

Saludos,

INTEGRAL

El lunes, 12 de diciembre de 2016, 10:20:03 (UTC-5), Elides Paredes escribió:
trevew_nuevo_estilo.jpg
Nuevo Estilo de Trevew.jpg

Irwin Rodriguez

unread,
Dec 13, 2016, 1:45:10 PM12/13/16
to publice...@googlegroups.com
Integral, tienes razón en lo que dices y no es muy dificil llegar a esos diseños partiendo del ejemplo de Elides. Pinenso más bien que su ejemplo apuntaba más a una guia para el uso del control.

Saludos...!

Elides Paredes

unread,
Dec 13, 2016, 1:55:26 PM12/13/16
to Comunidad de Visual Foxpro en Español

Estimado amigo Integral.

 
Esto es lo que mas aprecio del foro. Todas las ideas se mezclan  y los resultados finales son el prorducto de la suma de ideas geniales de todos los que participan. Así como ésta última. Muy buena presentación me encanta.

Cualquier comentario, cualquier ejemplo enriquece mi trabajo.
De hecho, Me gustaría mucho y también te agradezco que me aclares el punto de las llaves que mencionaste en tu comentario anterior.

No obstante, quiero también aclarar que el ejemplo es solo a manera de colaboración. No tengo ese formulario en mi sistema. jajaja.. No soy tan fanático de El Chavo.
Solo lo hice para mostrar a otros algo que a mi me costó demasiado entender y al darme cuenta de lo sencillo que es realmente, sentí la necesidad de compartirlo porque le veo muchas utilidades y estoy todavía en los cambios para pasar presentaciones con cuadros de listas a Treeview porque me parecen mas  intuitivos para los usuarios.

De nuevo gracias por comentar. 

Elides Paredes

unread,
Dec 13, 2016, 2:00:09 PM12/13/16
to Comunidad de Visual Foxpro en Español

Estimado Erwin

No es que sea tan fanático, pero.. como dice el Chavo también.. ESTAS EN LO CIERTO...JAJAJA
.. 

Hitiel Hernández

unread,
Dec 13, 2016, 11:36:24 PM12/13/16
to publice...@googlegroups.com
INTEGRAL tienes el código de las mejoras para poderlas compartir ?

Todo esto es excelente, ya probé el código de ELIDES y va a la perfección.

Yo tengo ratos de estar batallando con esto de los treeviews; de hecho ya hice una aplicación utilizando como menú un Treview.

Lo que quisiera es; por si algún compañero ya lo ha hecho, como manejar un Treview con tablas, porque a como yo lo hice anteriormente me parece muy ambiguo porque está en puro código todo y al momento de querer hacer cambios hasta yo mismo me hago bolas.

Agradecería si alguien nos puede compartir esto.
Gracias
--
Sabiduría ante todo; adquiere sabiduría

larue...@yahoo.com

unread,
Dec 14, 2016, 3:09:07 AM12/14/16
to publice...@googlegroups.com

--------------------------------------------
On Wed, 12/14/16, Hitiel Hernández <hiti...@gmail.com> wrote:

Subject: Re: [vfp] Re: Treeview en lenguaje coloquial. Mi aporte Más sencillo imposible
To: publice...@googlegroups.com
Date: Wednesday, December 14, 2016, 6:36 AM
urcii vazand ca nu mai pot avea nici o scapare incearca cu indrazneala deznadejdii cel din Tia mijloc care le mai ramanea adica o iesire cu arme si bagaje in zorii zilei de a doua zi

Carlos Alfaro

unread,
Dec 14, 2016, 10:26:06 AM12/14/16
to publice...@googlegroups.com

Te muestro lo que hice, guardando en una tabla

 

La estructura de la tabla es:

 

Los campos archivo y tipo, son para cuestiones propias de mi programa, puedes obviarlos.

 

El codigo para grabar los nodos en la tabla es:

 

loNodes = THISFORM.oleTree.Nodes

 

FOR i = 1 TO loNodes.Count

                IF ISNULL(loNodes.Item(i).Parent)

                               lcParent = "0_" && Root

                ELSE

                               lcParent = loNodes.Item(i).Parent.Key

                ENDIF

               

    SELECT arch_rep

                SEEK loNodes.Item(i).Key

                IF .not. FOUND() THEN

                  APPEND BLANK

                  replace NEXT 1 clave WITH loNodes.Item(i).Key

                ENDIF

                replace NEXT 1 primaria WITH lcParent, texto WITH loNodes.Item(i).Text, tipo WITH m.tipo

               

ENDFOR

 

El código para leer la tabla y aplicarlo al treeview es el siguiente:

o = THISFORM.oleTree.Nodes

o.Clear

               

SCAN

                IF ALLTRIM(primaria) = '0_'

                               oNode = o.add(,1,ALLTRIM(clave),ALLTRIM(texto),0)

                ELSE

                               oNode = o.add(ALLTRIM(primaria),4,ALLTRIM(clave), ALLTRIM(texto),0)

                ENDIF

                IF VAL(clave) >= VAL(thisform.cnextkey) THEN

                  THISFORM.cNextKey = ALLTRIM(STR(VAL(clave) + 1) + "_")

                ENDIF

ENDSCAN

USE

 

Espero te sirva.

 

Bendiciones.

 

 

 

Carlos Alfaro

image001.png

Elides Paredes

unread,
Dec 14, 2016, 10:43:39 AM12/14/16
to Comunidad de Visual Foxpro en Español

Adjunto otro ejemplo mas completo.

 
Tengo que aclarar que éste es el ejemplo que trae VFP, si por algún motivo quieren compararlo. Lo he modificado y le puse muchos comentarios para traducir del lenguaje técnico al lenguaje coloquial..
Me siento como un piloto de avioneta que conduce aviones grandes, pero en simuladores..jajaja..

Este ejemplo lo hice diferente, con un formulario que agrego como archivo anexo, que tiene tablas para crear el treeview a partir de 3 tablas.
Eso es lo que me parece hermoso del treeview,  resulta muy intuitivo para el usuario. Estoy haciendo un sistema para controlar talleres y presento en un formulario las piezas a seleccionar para que el usuario las ubique conociendo su ubicación, 

El sistema también tiene un control administrativo y el usuario podrá (Estoy trabajando en eso) fácilmente seleccionar la cuenta correspondiente a la transacción comercial que realice.
Ahora lo tiene pero con cuadros de listas, y me parece muy complicado así para el usuario.

Sin mas cuentos. vean el ejemplo. (Cambiar la extención .rar y descomprimir en una carpeta c:\foro, ahí trabaja bien.
Foro._rar

integral

unread,
Dec 14, 2016, 11:47:59 AM12/14/16
to Comunidad de Visual Foxpro en Español

Amigo HITIEL :

Te comento que el ejemplo mostrado corresponde a la clase que viene en el estilo llamado ThemedControls...

Lo puedes buscar en www.google.com 

En la pagina oficial de dicho control están las fuentes de todos los estilos..

Saludos,

INTEGRAL

El lunes, 12 de diciembre de 2016, 10:20:03 (UTC-5), Elides Paredes escribió:

Estimados amigos

Treeview en lenguaje coloquial. Mi aporte Más sencillo imposible

Hace literalmente varios años he querido incorporar éste control en mis aplicaciones porque siempre me ha parecido el ideal para mostrar datos de forma jerárquica, y lo he necesitado en muchas oportunidades y no había podido lograrlo.

Themed_Controls.jpg

integral

unread,
Dec 14, 2016, 12:04:30 PM12/14/16
to Comunidad de Visual Foxpro en Español

Estimado Amigo ELIDES :

Referente al tema que quedo pendiente de explicación, como bien dicen una imagen vale mas que mil palabras..

Estoy adjuntando el archivo donde puedes apreciar el detalle que te comentaba, ahora bien para que el código aparezca en diferentes colores el código del programa lo pegas en el programa NOTEPAD+ y ahí configuras según la estencion del código, aquí no recuerdo bien lo hice anteriormente con el código de un programa en COBOL

Esto lo implemente tratando de imitar el estilo de publicar los códigos de programas del colega experimentado FIDEL CHARNY...

Hasta la próxima
Publicar Codigo.jpg

Elides Paredes

unread,
Dec 14, 2016, 12:13:25 PM12/14/16
to Comunidad de Visual Foxpro en Español, larue...@yahoo.com
Deci, ce contează? Nu are nici un sens pentru mine alineatul

Elides Paredes
 

Elides Paredes

unread,
Dec 14, 2016, 12:17:17 PM12/14/16
to Comunidad de Visual Foxpro en Español
Mi hermano.. Integral.
Gracias
Aprendí algo realmente nuevo.
No tenía idea, ni siquiera había visto las llaves..

Saludos
Elides Paredes

Message has been deleted

Alejandro Garcia G.

unread,
Dec 15, 2016, 9:41:32 AM12/15/16
to Comunidad de Visual Foxpro en Español
Integral, una pregunta, probe tu ejemplo, pero cuando una opción, por ejemplo es mas grande que el tamaño del menu no se ve todo el detalle, y cuando uno amplia el ancho, se ve raro, como cortado. ¿Que se debe modificar en ese caso?

narcizo norzagaray

unread,
Dec 15, 2016, 9:43:40 AM12/15/16
to publice...@googlegroups.com
Yo tengo algunos problemas con alta, baja, modificaciones con el treeview sobre una tabla del catalogo de cuentas contables... 

Narcizo Norzagaray S.
Desarrollo De Sistemas Computacionales.
www.facebook.com/nzysoft
Cel 622 118 1324

Elides Paredes

unread,
Dec 15, 2016, 12:05:34 PM12/15/16
to Comunidad de Visual Foxpro en Español
Estimado, Amigo Narcizo,
 
El penúltimo mensaje que envié, ya será el antepenúltimo después de éste, tiene otro ejemplo que viene con VFP,  Lo modifiqué a mi manera y puse unas tablas que no solo se cargan al control Treeview sino que las organiza antes de cargarlas. 

Es -insisto- del mismo de VFP, pero traducido, como dije en principio al lenguaje coloquial que es mas fácil de entender. En los códigos coloqué muchas explicaciones. 

Espero que lo revises y comentes. Y sería bueno que digas si te solucionó tu problema. Pero si no es así, entonces, especifica mejor tu problema para que alguien te pueda ayudar. Incluso puedes anexar tu código, y tus tablas. De esa manera mucha gente como yo ha resuelto muchos problemas.

Saludos 
Elides Paredes
Barquisimeto Venezuela.

integral

unread,
Dec 15, 2016, 2:19:22 PM12/15/16
to Comunidad de Visual Foxpro en Español

Amigo ALEJANDRO :

Referente al problema que comentas, podrías al menos capturar en una imagen el problema que se esta originando...

De esta forma quizás quien o algún colega mas experimentado en el tema podamos dar con la solución.

Alejandro Garcia G.

unread,
Dec 15, 2016, 2:48:13 PM12/15/16
to Comunidad de Visual Foxpro en Español
Si claro, mira, con base en mi tabla de menu, juego con el codigo y me muestra esto: En la imagen 1 si te das cuenta la opcion 3 no cabe, por consiguiente amplie un poco el treeview pero mira como qeuda el titulo.

En la imagen 2 esta el nombre completo cuando coloco el ratón sobre la opción.

No me inquieta tanto el nombre de la opción pero si se ve un poco feo el titulo, ¿no se que debo modificar para que qeude bien como el del ejemplo?
1.png
2.png

Douglas Sánchez

unread,
Dec 15, 2016, 6:50:16 PM12/15/16
to publice...@googlegroups.com
Hola Integral, funciona!!!!

Lo pondré en Hoy mismo lo pongo en uso y con sql server.
tiene buen look.

Saludes



El día 14 de diciembre de 2016, 19:45, integral
<gabriel_...@hotmail.com> escribió:
>
> Mi Estimado amigo ELIDES .
>
> Si de aprender se trata y dispone de tiempo aquí le mando un modelo de
> Treeview que aquí en mi país esta dando la hora para que lo implemente en
> sus Sistemas...
>
> No soy el autor del 100& pero un día buscando información encontré este
> software que su autor tenia un problema y lo corrige a mi gusto y listo...
>
> Usa tablas libres pero se que también es posible adaptarlo y hacer que
> funcione con el SQL SERVER 2008 R2
>
> Con ello doy por terminado sobre el tema en lo que a mi respecta.
>
> Hasta la proxima
>
> Saludos a la distancia,

Elides Paredes

unread,
Dec 15, 2016, 8:30:36 PM12/15/16
to Comunidad de Visual Foxpro en Español
Que tal Amigo DSanchez ?

Podrías por favor indicarme los pasos que seguistes? a mi no me funciona. Al principio por la ubicación de los archivos, luego un caption y lo corregí. Tampoco tenía El System.app en el directorio, en fin. Pasé toda la tarde y parte de la mañana y no pude seguir. 
Seguramente está bien. No lo dudo, pero debo hacer algo mas y no se que puede ser.
También me gusta mucho el estilo de Integral y me gustaría aprender a hacerlo de esa manera.

Agradecido de antemano.

Saluda
Elides Paredes
Barquisimeto Venezuela. 

Hitiel Hernández

unread,
Dec 15, 2016, 9:51:50 PM12/15/16
to publice...@googlegroups.com
Amigos; INTEGRAL y ELIDES

Me marca error cuando intento abrir el formulario.
Será problema con la versión de VFP ? yo uso la 8

adjunto archivo 
gracias
pantallaerror.png

Elides Paredes

unread,
Dec 15, 2016, 10:30:27 PM12/15/16
to Comunidad de Visual Foxpro en Español
Que tal Hitiel ?

A mi tampoco me funcionó lo que colocó Integral, Se que está bien porque le funcionó  a otros como DSanchez. 

Por lo que pude ver, El ejemplo de Integral incluye gráficos seguramente con una mejor presentación, porque utiliza GDI, y uno de los errores que me daba era precisamente que no tenia System.app. lo coloqué, cambié los path para que VFP ubique los PRG, etc. Pero Hasta ahora no he logrado verlo.

Pero. Probaste el otro ejemplo que coloqué? es mas completo, que el primero que coloqué yo de "El Chavo." . 

Le hice unas modificaciones (porque es el que trae VFP de ejemplo) para cargar unas tablas que utilizo en mi sistema (también agregue las tablas) y funciona bien. Además le coloqué muchos comentario a los códigos del formulario, para explicarlo a mi manera, lo que logré entender.

Además muestra como borrar un nodo o todos, como agregar uno y como guardar todo el treeview creado en una sola tabla, (Algo que me parece Genial). Luego se puede volver a cargar desde esa misma tabla, creada. Me  parece de verdad excelente el método y me enseñó mucho. Espero te sirva a ti y a cualquiera que lo vea.

 
El ejemplo mencionado (se llama Foro.rar) muestra También, si te interesa ver como cargar una o varias tablas y relacionarlas en un treeview de forma mas sencilla, revisa ese ejemplo que anexé aquí mismo.

integral

unread,
Dec 15, 2016, 10:31:57 PM12/15/16
to Comunidad de Visual Foxpro en Español

Estimado amigo HITIEL :

Te comento que los nuevos estilos de menus llámese FOXRIBBON, OUTLOOK2003, etc.. 

Se recomienda utilizar la versión de VFP 9.0 y mejor aun actualizado con el SP 2 y la ultima versión 7423

Saludos,
VFP 9 Actualizado.jpg

integral

unread,
Dec 15, 2016, 11:01:32 PM12/15/16
to Comunidad de Visual Foxpro en Español

Estimado Amigo ELIDES :

Para no ser muy estensivo con la explicación, adjunto una imagen donde podra apreciar la ruta principal...

Ese mismo problema tenia yo hace unos años cuando descargaba algún archivo a instalar a veces se duplica el nombre de la carpeta principal o le creaba una carpeta con un nombre diferente...

La solución fue simple buscar el proyecto y ver la ruta establecida...

Ah el ejemplo funciona con la Versión 9.0 aunque no tenga el SP 2 instalado y la versión 2412

Espero con ello todo funcione correctamente...
RUTA_PRINCIPAL.jpg

Elides Paredes

unread,
Dec 16, 2016, 12:10:18 AM12/16/16
to Comunidad de Visual Foxpro en Español

Estimado Amigo. Integral.

 
Funciona perfecto. Tal como esperaba, pero no podía. jajaja.. Me gusta mucho la presentación, mañana o mejor dicho mas tarde lo revisaré con mas calma porque me animó a hacer algunos cambios. 

Ahora entiendo porque decías si tienes tiempo, llevo todo el día en eso. Pero, aprendí cosas nuevas e interesantes. De verdad lo agradezco mucho.

Elides Paredes

unread,
Dec 16, 2016, 8:44:09 AM12/16/16
to Comunidad de Visual Foxpro en Español
Hola de nuevo..
Mi problema estaba en la configuración de vfp porque tenía predefinido el directorio predeterminado C;\Proyecto y las clases buscan  el directorio C:\Software y eso era casi todo.
También me dijo que no existe la variable lcCaption y al final todo funcionó al crear el directorio y copiarlo allí. también modifiqué el Init de Gcobro (El formulario se llama así) con lo siguiente 

SET DEFAULT TO c:\software
this.MaxWidth=this.Width
this.Caption = "lcCaption" && Aqui yo Elides le puse las comillas
*
** this.menu.Width = 200
*
this.cargamenu()
Thisform.Resize


Espero que le sea útil a muchas personas como lo está siendo para mi.
De nuevo gracias amigo Integral

Saludos

Elides Paredes
Pd. Use las llaves.. jajaja..

integral

unread,
Dec 16, 2016, 2:05:35 PM12/16/16
to Comunidad de Visual Foxpro en Español

Que tal Amigo ELIDES :

Que bueno saber que ya pudiste ejecutar el ejemplo que envié, creo que sirvió de algo mis sugerencias...

Ahora veo también que ya pudiste publicar el código con la opción que te indique...

Coméntanos lo pasos que seguiste, si no es mucho pedirte ya que me escriben preguntándome del tema y hoy estoy full revisando el proyecto..

Cuento con tu apoyo...

Saludos,

INTEGRAL

integral

unread,
Dec 16, 2016, 8:54:39 PM12/16/16
to Comunidad de Visual Foxpro en Español

Estimado amigo ALEJANDRO .

Me tome un breve tiempo para ver tu caso y como bien digo :
Todo tiene solución, deberás hacer unos ajustes a las clases según como desees dimensionar dicho control del menu principal...

Por lo pronto me tome la molesta de avanzar un poco con dicha tarea...

Dejo para que continúes y culmines con la distribución, te adjunto lo avanzado...

Me gustaría después poder ver el final de tu proyecto...

Saludos ,
AJUSTANDO_CLASES.jpg
Software_Clases._ar

Diacrisa

unread,
Jan 15, 2017, 12:46:23 AM1/15/17
to Comunidad de Visual Foxpro en Español
Me puedes indicar como hacer que salgan varios nodos, por ejemplo tengo reportes y quiero que me muestre lista estudiantes, lista cursos 
etc


El martes, 13 de diciembre de 2016, 13:35:55 (UTC-5), integral escribió:

Que tal Amigo ELIDES :

Ahora si se pudo ejecutar sin problemas el ejemplo del código mostrado.

Solo un comentario sin desmerecer tu trabajo, pero ahora esta pegando un poco el estilo que muestro en la imagen adjunta 

Hasta la próxima.

Saludos,

Elides Paredes

unread,
Jan 15, 2017, 11:48:59 AM1/15/17
to Comunidad de Visual Foxpro en Español
Hola amiga Diacrisa. Feliz año nuevo.

Honestamente no comprendo la pregunta. Pero, igualmente trataré de responder así.
La idea es crear nodos utilizando las funciones descritas en el ejemplo inicial. Pueden ser raíces, sin padres o ser hijos. No está contemplado abuelos, ni tíos, ni ningún otro nexo, es decir, para efectos de programación, si uno es raíz, no tiene padre, el primer parámetro no se coloca, y si lo necesitas colocar debajo de uno existente, el nuevo nodo lo refieres al padre, es como decirle únicamente debajo de quién, por eso comentaba que no me gusta llamarlo padre o hijo, porque uno tiende a buscar por ejemplo quien es el hijo del hijo, y eso no se puede hacer.

También hice referencia al ejemplo que viene con VFP, es el mejor ejemplo, aunque ese me costó mucho entenderlo. 

En todo caso te sugiero, si esto no resuelve tu duda lo vuelvas a plantear a ver si uno de nosotros la puede resolver.

Reitero que Utilizando las funciones del ejemplo, puedes crear todos los nodos que quieras.

Un saludo.. 
Elides Paredes
Barquisimeto Venezuela.


Diana Cristina Aguilar Ramirez

unread,
Jan 15, 2017, 12:50:11 PM1/15/17
to Comunidad de Visual Foxpro en Español
Hola.. bueno la cosa es que tu no explicas en tu video como se hace, sino lo que hace. yo necesito es un ejemplo para ver como se hace. bueno yo tengo una clase que me s hicieron llegar y funciona con tablas dbf, pero hay otro ejemplo donde se hace haciendo uso del menu que trae el foxpro. me gustaria tener un ejemplo de para guiarme, osea algo que trenga el menu y que abra un formulario. espero me puedas colabrar. yo programo en foxpro pero no soy una chica muy pila como son ustedes.
--
Diana C. Aguilar R.

Elides Paredes

unread,
Jan 15, 2017, 4:26:32 PM1/15/17
to Comunidad de Visual Foxpro en Español
Hola Diacrisa.

Inicialmente copie un PRG con el texto donde explico lo que hice. Eso dio ciertos errores porque habían varios espacios en blanco y caracteres retorno,, SI copias y pegas eso daba un error, había que borrar esos caracteres de retornos previamente.
Para corregirlo, Mas adelante, agregué  el PRG que funciona bien. Ese es un ejemplo, de hecho es lo que estoy aportando -un PRG- que crea un formulario que contiene un TreeView, 

Ahora bien, una vez entendido el funcionamiento puedes utilizar el ejemplo que viene en solution de VFP, del control Treeview, En ese ejemplo, se agregan nodos, se borra uno, se borran todos se guarda lo creado (uno a uno por ti), en una tabla DBF y una vez creada puedes también crear de nuevo el treeview con los datos de esa tabla. 

Mi idea es hacer lo que hacen los maestros de éste foro, pero tampoco me considero uno de ellos, así que no me digas eso que no eres muy pilas..jajaja

Si aún así no puedes verlo, avisa de nuevo, no quiero que te quedes con la duda. porque a mi nunca me han dejado con dudas, aquí la idea es ayudarnos.. 

Una vez mas, espero te sea útil..
Saludos
Elides Paredes.
Barquisimeto Venezuela. 

pd. Siempre pongo nombre y lugar porque me encanta saber que estoy en mi habitación solo, pero  conectado con personas muy sabias en muchas partes del mundo. España, chile argentina, méjico, etc. 

A ultima hora decidí enviar el ejemplo modificado que trae visual fox, y otro que quizás también te guste como poner una película flash. 

Foro._rar

Diana Cristina Aguilar Ramirez

unread,
Jan 15, 2017, 6:06:32 PM1/15/17
to Comunidad de Visual Foxpro en Español
Bueno chico..
Yo soy de Cucuta Colombia, no soy muy pila en esto de la programación, me defiendo algo y en donde trabajo he logrado administrar la informacion con mi aplicacion hecha a mi manera, pero cada año quiero inovar y vi este proyecto y me parece super, pero a lo bien nose como hacerlo.
Vi dos videos y se ve genial, lastima que el chico no coloca el codigo porque al parecer solo vende el programa.
Voy a mirar lo que me envias y te cuento.
de ante mano te agradezco
Diana Aguilar
Cucuta Colombia.
Soñando con un dia aprender a programar bien.

Diana Cristina Aguilar Ramirez

unread,
Jan 15, 2017, 6:18:03 PM1/15/17
to Comunidad de Visual Foxpro en Español
Ya mire lo que me enviaste, pero te cuento que yo quiero es usar uno que se hace con el menú de visual foxpro. si miraste el proyecto que te envie.

Elides Paredes

unread,
Jan 16, 2017, 7:51:38 AM1/16/17
to Comunidad de Visual Foxpro en Español
Hola DIana.

Ahora si creo entender lo que deseas hacer. Por los comentarios que he visto en algunos años consultando éste y otros foros, la mayoría de programadores han comenzado así como tu y yo. Luchando solos y luego con la ayuda de otros hemos diseñado soluciones inesperadas, porque superan nuestra propias expectativas, algo que llega incluso a causar una cierta adicción.

Para no caer en muchos cuentos solo quiero sugerirte algo que he aprendido "a golpes" con la programación, a ser un poquito ordenado. jejeje..Este tema está finalizado porque se logró desde mi punto de vista el objetivo. Mostrar un ejemplo sencillo del control Treeview algo que me parecía imposible de lograr y por ese motivo hice un pequeño aporte.

Pues bien   mi sugerencia es que organices tus ideas y hagas una consulta que indique muy claro lo que realmente quieres.Y si pones una imagen mejor.Imagino que quieres hacer un menú tipo outlook, incluir un control treeview y un grupo de botones como lo mostró Integral aquí mismo. De esa forma, haciendo una nueva consulta  haces que otros participen en tu consulta, pero, por el tema fíjate que casi nadie ve éste tema..

En lo personal también me gusta la forma organizada, que deseas,  para presentarle al usuario los menús, pero, me  gustó aún mas la forma como Microsft  hizo los menús con office, donde hay varios botones y cada uno hace algo diferente y bastante -complejo de programar- pero extremadamente sencillo para el usuario.

De hecho es mas parecido a foxribon (no recuerdo como se escribe), pero en lo personal, prefiero mi método lo veo como mas simple para el usuario. (Anexo imagen)

Ahora bien, el control treview (En mi caso) es para mostrar un menú para seleccionar piezas de vehículos que están organizadas de forma jerárquica, ejemplo el frente contiene, capot, guardafangos, parachoques, etc. si el usuario necesita buscar una pieza del parachoques sabe que debe ir al frente.En fin. es mejor y mas fácil ubicarlos así.

No desmayes y sigue consultando. Evalúa mi método, (basado en la idea de Microsoft) el cual es incluso mas fácil.

Saludos de 
Elides Paredes
Barquisimeto Venezuela para la hermana república de Colombia.


 
menus.jpg

Rodolfo Ortiz González

unread,
Jan 16, 2017, 9:39:59 AM1/16/17
to publice...@googlegroups.com
Hola Integral.

Este ejemplo que envías es propiedad intelectual de alguien? o es libre.

Lo pregunto porque está muy bien hecho y me gustaría incorporarlo a alguna de mis aplicaciones, evidentemente haciéndole adaptaciones, un saludo!

Diana Cristina Aguilar Ramirez

unread,
Jan 16, 2017, 10:36:53 AM1/16/17
to Comunidad de Visual Foxpro en Español
Ese que envie es mio pero de la clase de un señor del grupo que me lo hizo llegar, solo que yo no he logrado saber como hacerlo que funciones con el menu de foxpro.
La clase se consigue en la internet. 
Yo lo quiero personalizar para mi pero como te dije nose como hacerlo..

Diana Cristina Aguilar Ramirez

unread,
Jan 16, 2017, 10:38:47 AM1/16/17
to Comunidad de Visual Foxpro en Español
Se ve genial.. pero yo no tengo idea, de como hacerlo, se que si tengo un ejemplo pequeño, la clase y un formulario se que puedo arrancar.. con la otra clase por ahora la estoy usando

Rodolfo Ortiz González

unread,
Jan 16, 2017, 10:55:44 AM1/16/17
to publice...@googlegroups.com
Hay un evento en el formulario inicio, cambia la instrucción de WAIT WINDOW miprograma, por DO FORMA PRUEBA, no sé si es lo que necesites, saludos!

Imágenes integradas 1

Diana Cristina Aguilar Ramirez

unread,
Jan 16, 2017, 11:29:12 AM1/16/17
to Comunidad de Visual Foxpro en Español
Eso me funciona perfecto ya tengo formularios asi.. es que lo que deseo es hacer algo que vi en un video donde el chico solo crea el menu constextual de visual foxpro y lo agrega al trewio 
pero no lo he logrado

integral

unread,
Jan 16, 2017, 11:30:30 AM1/16/17
to Comunidad de Visual Foxpro en Español

Estimado Amigo RODOLFO ORTIZ :

Te agradezco la pregunta por cuanto quiero dejar en claro algunos puntos.

El ejemplo que adjunte pertenece a un colega que deseaba en ese entonces corregir un problema que tenia en el proyecto...

Por mi parte decidí corregir el problema y hacerle algunos cambios que al final reflejan una buena presentación que se puede apreciar en la imagen que adjunte como producto final...

La Clase es de la autoria de EMERSON REED y la puedes encontrar en el siguiente link. 


La clase actualmente tiene algunas diferencias en su diseño y por comentarios de amigos del foro al ejecutarlo presenta un error...

Espero comprendan la situación.

Saludos,

Diana Cristina Aguilar Ramirez

unread,
Jan 16, 2017, 11:30:31 AM1/16/17
to Comunidad de Visual Foxpro en Español
Imágenes integradas 1

El 16 de enero de 2017, 10:55, Rodolfo Ortiz González <rodolfo...@gmail.com> escribió:
Message has been deleted

KRB Tecnologia

unread,
Oct 2, 2018, 2:51:10 PM10/2/18
to Comunidad de Visual Foxpro en Español

Por favor, me pareció interesante este estilo de menú. Yo sería capaz de proporcionarme un ejemplo del mismo para que pueda estudiar gracias


Em terça-feira, 13 de dezembro de 2016 16:35:55 UTC-2, integral escreveu:

Que tal Amigo ELIDES :

Ahora si se pudo ejecutar sin problemas el ejemplo del código mostrado.

Solo un comentario sin desmerecer tu trabajo, pero ahora esta pegando un poco el estilo que muestro en la imagen adjunta 

Hasta la próxima.

Reply all
Reply to author
Forward
0 new messages