In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Duda con oMDIClient:aForms

Foro de Xailer profesional en español
Responder
Pepe Lutrillo
Mensajes: 45
Registrado: Lun Ago 15, 2005 7:58 pm

Duda con oMDIClient:aForms

Mensaje por Pepe Lutrillo »

Buenos Dias X-Men,
Tengo una duda con respecto a la propiedad aForms del oMDIClient: Estoy
teniendo problemas al tratar de obtener el número de formularios
MDIChild en una MDIFrame, ya que la parecer, el aForms no se calcula de
manera correcta. Para probarlo:
1. En el ejemplo MDISample, incluyan en el formulario MDIFrame un
TLabel, de preferencia en la parte superior izquierda del formulario,
que utilizaremos para ver el número de formularios MDIChild que se
encuentran abiertas dentro del oMDIClient,
2. En el evento OnPainted del MDIFrame incluyan el siguiente código:
Local nForms
nForms := Len(::oMDIClient:aForms)
::oLabel1:cText := Str(nForms, 2)
3. Ejecuten el programa y abran 5 "New Child Window" desde el menú. El
Tlabel mostrará el número de ventanas que se van abriendo.
4. Coloquen las 5 ventanas en cascada o mozaico. Dejen visible el Tlabel.
5. Comienzen a cerrar una a una las ventanas. El valor mostrado en
TLabel no siempre corresponde al número de ventanas abiertas. Sin
embargo, bajo el menú Windows de la aplicación se podrán ver
correctamente las ventanas que están abiertas.
Cual será el problema?
Muchas gracias por su ayuda
Saludos,
Pp Lu3o
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Duda con oMDIClient:aForms

Mensaje por jfgimenez »

Pepe,
> 2. En el evento OnPainted del MDIFrame incluyan el siguiente código:
Seguramente es este el problema. El evento OnPainted se dispara solamente
cuando se necesita pintar la ventana, y no siempre es necesario. Prueba a
forzar el repintado (p.ej. minimizando y maximizando la ventana principal)
cada vez que cierras una mdichild.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder