Page 1 of 1

duda sobre mdi

Posted: Thu Dec 20, 2007 4:09 pm
by fgondi
Hola foro,

Tengo un sistema que permite ventanas mdi

En cada ventana aparece un botón que entre las tareas que hace, una es llamar a una función que es común a todas las ventanas.

Existe la posibilidad de saber en esa función desde que mdi ha sido llamada?

Posted: Thu Dec 20, 2007 6:41 pm
by FWHISHOW
if upper( oWnd:oWndClient:aWnd:cCaption )=cTitle
....

Posted: Thu Dec 20, 2007 8:23 pm
by Antonio Linares
oWnd:oWndClient:GetActive() --> oMdiChild

Posted: Fri Dec 21, 2007 8:44 am
by fgondi
Gracias por vuestras respuestas,

Lo que buscaba es un trabajo en segundo plano, osea cuando llega a la función común ya no está la ventana activa en la mdi que la llamo.
Por tanto creo que no me vale GetActive()

En cuanto a "if upper( oWnd:oWndClient:aWnd:cCaption )=cTitle", obviamente me sirve si paso "cTitle" a la función.
El problema es que he puesto un ejemplo sencillo, la realidad es una función que llama a otra, que llama a otra y así varias veces, y antes de cambiar el código y pasar como parametro de una otra "cTitle" quería saber si se podía hacer de otra manera.

Posted: Fri Dec 21, 2007 9:25 am
by Antonio Linares
Fernando,

>
En cada ventana aparece un botón que entre las tareas que hace, una es llamar a una función que es común a todas las ventanas.
>

Puedes usar una variable en donde copiar la ventana MDICHILD en uso al pulsar el botón. La acción del botón la copia. Suponiendo que esté en una barra de botones:

oMDIChild = oButton:oWnd:oWnd

Posted: Fri Dec 21, 2007 6:34 pm
by fgondi
Antonio,

Buena alternativa. Trabajaré sobre ella

Muchas gracias