Francisco,
No estas equivocado en absoluto. No obstante creo que tenemos que tener un
oActiveForm, igual que tenemos un oActiveControl.
Un saludo,
"Francisco Sanchez" <
francisco@softwaretotal.biz> escribió en el mensaje
news:42ce88f3$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
> con len( Application:aForms ) siempre sabras la longitud del array con lo
> que conoceras el nº de formularios abiertos, simplemente tendrias que
> hacer oForm := Application:aForms[nLen] para tener una referencia ( objeto
> o como quieras llamarlo ) ultimo formulario abierto, por ejemplo, pero
> puedes jugar con todo esto, buscar por el título del formulario para
> seleccionar uno en concreto, no se, a tu gusto. Si estoy equivocado que me
> corrijan rapidamente, jejeje espero no equivocarme )
>
> Un saludo
>
> "Francisco Sanchez" <
francisco@softwaretotal.biz> escribió en el mensaje
> news:[email=
42ce8820@ozsrvnegro.ozlan.local...]
42ce8820@ozsrvnegro.ozlan.local...[/email]
>> xevi me parece que ya esta : Application:aForms, si estoy equivocado que
>> me corrigan pero creo que es asi.
>>
>> Un saludo
>>
>> "Xevi" <
xevicomas@terra.es> escribió en el mensaje
>> news:[email=
42ce7db2@ozsrvnegro.ozlan.local...]
42ce7db2@ozsrvnegro.ozlan.local...[/email]
>>> Ignacio,
>>>
>>> Y, digo yo... ¿seria posible ademas poner una propiedad en Application,
>>> que nos de un Array de los Forms abiertos??? Lo digo porque así
>>> podríamos aaceder a cualquier form que tengamos abierto FACILMENTE !!!
>>>
>>> Application:aOpenForms
>>> Application:oActiveForm
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>> "Ignacio Ortiz de Zúñiga" <
InvalidAccount@ozs.com> escribió en el
>>> mensaje news:42ce5f20$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>>> Xevi,
>>>>
>>>>> La función xBusca, debería de lanzar el Evento KeyDown del Browse
>>>>> activo del Form hijo...
>>>>
>>>> Los eventos normalmente se disparan sólo por la actuación del usuario,
>>>> no tiene mucho sentido que tu provocas una pulsación de teclado.
>>>>
>>>>> *::oActiveControl:DbfBrowse1KeyDown( oSender, VK_F3 )
>>>>
>>>> No tiene mucho sentido. Supongo que estarás llamando al método que
>>>> recoge el evento OnKeyDown del Browse, pero eso no quiere decir que el
>>>> hecho de llamar a dicho evento se vaya a generar ninguna pulsación de
>>>> teclado, en absoluto. Si quieres simular la pulsación de una tecla
>>>> simplemente haz oControl:PostMsg( WM_KEYDOWN, VK_F3).
>>>>
>>>> Como normal general, los eventos se disparan solos por el sistema, el
>>>> usario, etc.
>>>>
>>>>> MsgAlert(oSender:oMDIClient:oActiveControl) //Devuelve Nil
>>>>
>>>> Tienes toda la razón. Se me ha ido completamente la cabeza,
>>>> oActiveControl devuelve el control activo dentro de un Form, y no es el
>>>> caso. Efectivamente no hay forma de conocer el formulario activo. Lo
>>>> arreglaremos cuanto antes, posiblemente poniendo una propiedad
>>>> oActiveForm en Application.
>>>>
>>>> Un saludo,
>>>>
>>>> "Xevi" <
xevicomas@terra.es> escribió en el mensaje
>>>> news:42ce4300$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>>>> Ignacio,
>>>>>
>>>>> En el Form padre MDI tengo un botón en una ReBar...
>>>>> :AddButton( "", "LUPA",,, "", {|| xBusca(oSender) } )
>>>>> ...
>>>>> La función xBusca, debería de lanzar el Evento KeyDown del Browse
>>>>> activo del Form hijo...
>>>>> Y... según lo que me has comentado...
>>>>>
>>>>> FUNCTION xBusca( oSender )
>>>>> *::oActiveControl:DbfBrowse1KeyDown( oSender, VK_F3 )
>>>>> *::oMDIClient:oActiveControl:Metodo()
>>>>> *oSender:oMDIClient:oActiveControl:DbfBrowse1KeyDown( oSender, VK_F3 )
>>>>> MsgAlert(oSender:oMDIClient:oActiveControl) //Devuelve Nil
>>>>> Return Nil
>>>>>
>>>>> Para modificar una Data o lanzar un Evento del Form que ha llamado al
>>>>> hijo... oParent... PERO
>>>>> Mi problema... No puedo lanzar un Evento, o modificar una Data de un
>>>>> Form hijo...
>>>>>
>>>>> ¿Que hago mal???
>>>>>
>>>>> Un Saludo,
>>>>> Xevi.
>>>>>
>>>>>
>>>>> "Ignacio Ortiz de Zúñiga" <
InvalidAccount@ozs.com> escribió en el
>>>>> mensaje news:42cd5ef3$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>>>>> Respondido en otro foro.
>>>>>>
>>>>>> Saludos,
>>>>>>
>>>>>> "Xevi" <
xevicomas@terra.es> escribió en el mensaje
>>>>>> news:42cd4f40$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>>>>>>> Hola,
>>>>>>>
>>>>>>> Vamos a ver si me puedo explicar...
>>>>>>> Tengo un Form MDI... en el que tengo un Menu y una ToolBar.
>>>>>>> Bien, la ToolBar sirve para activar algunas opciones comunes en TODA
>>>>>>> la
>>>>>>> aplicación... Calculadora...
>>>>>>> Y... un botón que tiene que ejecutar unas acciones dependiendo de
>>>>>>> que
>>>>>>> FormCHILD tenga activo... en concreto tiene que lanzar un evento que
>>>>>>> está en
>>>>>>> su FormChild...
>>>>>>>
>>>>>>> oFormMenu:BtnOnClick := "oFormChild:Evento"
>>>>>>> ¿?¿?¿?
>>>>>>>
>>>>>>>
>>>>>>> Mas o menos sería algo así...
>>>>>>>
>>>>>>> 1.- Padre llama a hijo.
>>>>>>> 2.- Hijo se visualiza y tiene unas acciones definidas.
>>>>>>> 3.- Se pulsa en padre un botón que ejecuta una acción del Hijo.
>>>>>>>
>>>>>>> Pues eso... que no se como hacerlo ...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Un Saludo,
>>>>>>> Xevi.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>