MdiChildFolder beta.1

Post Reply
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

MdiChildFolder beta.1

Post by JESUS MARIN »

Buenas a todos, amigos.
Animado por el maestro Linares, me atrevo a publicar MdiChildFolder en GitHub.
https://github.com/JesusMarinVives/MdiChildFolder
(es la primera vez que creo un repositorio, mil perdones si algo falla.)

¿Qué es MdiChildFolder?

Es un entorno de trabajo con ventanas MDI CHILD, que se muestran como folders en la barra superior de nuestra única ventana.
Image

¿ Cual es el proceder ?
Primero creamos una ventana MDI (o Frame) sin marcos, cabecera, botones....

Code: Select all | Expand

DEFINE WINDOW oWnd PIXEL MDI STYLE nOR( WS_POPUP, WS_BORDER )
Para abrir una ventana MDI CHILD, solo tendremos que escribir este código

Code: Select all | Expand

FUNCTION New()

LOCAL oWnd

   DEFINE WINDOW MDICHILDFOLDER oWnd OF oWndPrincipal TITLE "Nueva"

   ACTIVATE WINDOW oWnd


RETURN(NIL)
Donde la única diferencia será escribir MDICHILDFOLDER. Ver ejemplo en new.prg

Nota : El objetivo de esta clase no es otro que el de entretenerme, por lo tanto se puede usar a discreción. Eso si, sin ningún tipo de garantía. Tal vez, con algo de suerte, pueda inspirar a alguién.

Luego subiré algunos videos y comentaré algunas funcionalidades.
Saludos a todos y feliz verano.
Jesús Marín
[email protected]
paquitohm
Posts: 318
Joined: Fri Jan 14, 2022 8:37 am

Re: MdiChildFolder beta.1

Post by paquitohm »

Muchísimas gracias Jesús por tu super aporte.
Me impresionó una vez que vi por este foro una demo que pusiste.

A ver si alguna vez termino con el verifactu, que creo que seguiré con ello más allá de esta vida y lo pruebo y adapto a mi estilo de formularios.

Gracias de nuevo por tu generosidad

PD. Si pudieras comentar un poco como llegaste a este magnifico invento
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

Re: MdiChildFolder beta.1

Post by JESUS MARIN »

Image

Ejemplo 1 ( haz click en la imagen para que se reproduzca)

Abriendo varias ventanas.
Para probar que cosas funcionan, he hecho un menú (cada uno que se lo haga a su gusto) y he puesto ;
- Una ventana con navegador de internet. Web.prg Usando WebView
- Un visor de imagenes (visor.prg)
- Un visor de pff... Es una versión reducida de mi propio visor de pdf. (pdf25.prg)
- Nueva ventanas. New.prg Abrir una ventana sin nada, con un folder y SetControl() modificado y otra con un Ribbon superior. (esto tendrá una explicación separada-
Jesús Marín
[email protected]
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

Re: MdiChildFolder beta.1

Post by JESUS MARIN »

Image

Ejemplo 2. Abriendo varias ventanas con el mismo nombre.
(pulsa en la imagen para reproducir el gif)

En este ejemplo se abren varias ventanas MDI CHILD que tienen el nombre o caption "nuevo"
Automaticamente el sistema, numera e incrementa el caption para diferenciar cada ventana.
En caso de abrir archivos de datos, debe programarse como si de un entorno de red se tratara.

De tal manera que se crea :
Nueva, Nueva [2], Nueva [3]..... Nueva[n]

Como idea a desarrollar, se puede crear la opción de que sea MODAL
Jesús Marín
[email protected]
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

Re: MdiChildFolder beta.1

Post by JESUS MARIN »

Ejemplo 3

Movimiento. Minimizar, Maximizar, Restaurar.... y cambiar tamaño.

El frame principal ( y todas sus ventanas hijas ), pueden moverse haciendo click sobre la barra superior, arrastrando a la nueva posición. Igual que cualquier ventana.

Con los botones Minimizar, Restaurar / Maximizar y cerrar, hacemos las mismas funciones que en cualquier ventana. (excepto cerrar que cierra todas las ventanas)

En el margen derecho y el margen inferior se puede redimensionar el tamaño.

Nota : Falta probar en escenarios reales, por ejemplo cuando se recupera el foco, etc...
Jesús Marín
[email protected]
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

Re: MdiChildFolder beta.1

Post by JESUS MARIN »

Ejemplo 4

Movimiento de las pestañas/solapas/ventanas
Image

¿qué ocurre si tenemos mas ventanas abiertas que espacio en nuestro barra superior?
Image


Al igual que en los Folders se van ocultando.

Pero podemos moverlas a derecha e izquierda
Image

y también con esta función ir siempre a la primera pestaña (que suele ser el menú principal)
Image


ver METHOD Mover_ventanas_no_visibles() // Mueve las solapas de izq a der
Jesús Marín
[email protected]
User avatar
cmsoft
Posts: 1344
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: MdiChildFolder beta.1

Post by cmsoft »

Jesus, que buena pinta tiene!! Felicitaciones y gracias por compartirlo!!
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

Re: MdiChildFolder beta.1

Post by JESUS MARIN »

EJEMPLO 5 - MENU CONTEXTUAL

Aunque podemos poner todas las opciones en una buttonBar, siempre estará disponible, pulsando el boton derecho en el fondo de la ventana y/o donde se quiera implementar, un menú contextual que tiene :

a ) Todas las ventanas abiertas, Marcando con un "check" la ventana acutal. Seleccionando cualquier otra, se abre la ventana pulsada.
b ) Resto de opciones : Ir a la solapa 1, mover solapas a la izq / derecha, cerrar la ventana actual

Image
Image
Jesús Marín
[email protected]
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: MdiChildFolder beta.1

Post by Antonio Linares »

Querido Jesús,

Gracias por tu generosidad y por compartir un trabajo tan profesional !

Sencillamente excelente !!! :D
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: MdiChildFolder beta.1

Post by karinha »

Excelente Jesus! Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
sysctrl2
Posts: 1144
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Re: MdiChildFolder beta.1

Post by sysctrl2 »

Gracias por darnos esperanza ya estamos algo viejitos a ver si entendemos :D :lol: :shock:
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
leandro
Posts: 1828
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: MdiChildFolder beta.1

Post by leandro »

Tenemos problemas al intentar descargar el código, dice que virus detectado.

Image
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
[email protected]
[email protected]

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
User avatar
Lailton
Posts: 231
Joined: Fri Jul 20, 2012 1:49 am
Location: Brazil
Contact:

Re: MdiChildFolder beta.1

Post by Lailton »

Fantastico trabajo.
Regards,
Lailton Fernando Mariano
JESUS MARIN
Posts: 199
Joined: Wed Jan 02, 2019 8:36 am

Re: MdiChildFolder beta.1

Post by JESUS MARIN »

Leandro.
Será porque esta incluido el .exe ?
Dime si te lo mando a tu correo
Jesús Marín
[email protected]
User avatar
acuellar
Posts: 1713
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: MdiChildFolder beta.1

Post by acuellar »

Leandro

En Seguridad de Windows desactivar temporalmente Protección en tiempo real

Así lo podrás descargar

Saludos,

Adhemar Cuéllar

Post Reply