FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour MdiChildFolder beta.1
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 08:58 AM
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.


¿ Cual es el proceder ?
Primero creamos una ventana MDI (o Frame) sin marcos, cabecera, botones....
DEFINE WINDOW oWnd PIXEL MDI STYLE nOR( WS_POPUP, WS_BORDER )
Para abrir una ventana MDI CHILD, solo tendremos que escribir este código
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
deumare@gmail.com
Posts: 318
Joined: Fri Jan 14, 2022 08:37 AM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 09:14 AM

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

Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 09:35 AM


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
deumare@gmail.com
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 09:49 AM


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
deumare@gmail.com
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 10:00 AM

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
deumare@gmail.com
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 10:16 AM
Ejemplo 4

Movimiento de las pestañas/solapas/ventanas


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



Al igual que en los Folders se van ocultando.

Pero podemos moverlas a derecha e izquierda


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



ver METHOD Mover_ventanas_no_visibles() // Mueve las solapas de izq a der
Jesús Marín
deumare@gmail.com
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 10:35 AM

Jesus, que buena pinta tiene!! Felicitaciones y gracias por compartirlo!!

Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 10:36 AM
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


Jesús Marín
deumare@gmail.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 11:23 AM
Querido Jesús,

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

Sencillamente excelente !!! :D
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 04:12 PM

Excelente Jesus! Gracias, tks.

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: MdiChildFolder beta.1
Posted: Tue Aug 05, 2025 06:42 PM
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 "
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: MdiChildFolder beta.1
Posted: Wed Aug 06, 2025 01:44 AM
Tenemos problemas al intentar descargar el código, dice que virus detectado.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 231
Joined: Fri Jul 20, 2012 01:49 AM
Re: MdiChildFolder beta.1
Posted: Wed Aug 06, 2025 04:52 AM

Fantastico trabajo.

Regards,

Lailton Fernando Mariano
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: MdiChildFolder beta.1
Posted: Wed Aug 06, 2025 06:06 AM

Leandro.

Será porque esta incluido el .exe ?

Dime si te lo mando a tu correo

Jesús Marín
deumare@gmail.com
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: MdiChildFolder beta.1
Posted: Wed Aug 06, 2025 12:48 PM

Leandro

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

Así lo podrás descargar

Saludos,



Adhemar C.

Continue the discussion