Página 1 de 1

Pasar Parametros a un menu

Publicado: Mar Ene 02, 2007 2:11 pm
por swrite
Buenos dias y Feliz año nuevo a todos
Pues eso que necesito pasarle parametros a un menu, me explico si uso el
generador de menus , me genera en el copdigo del formulario si aumento
el evento on click algo como lo siguiente
:AddItem( "1.-Ingreso de Grupos","Ingreso de Grupos", 1,,,,,.T.
):OnClick := "Ejecutar"
y el evento on click esta asi
Method Ejecutar( oSender, oMenu ) Class ....
Return Nil
yo necesito pasarle un parametro algo como
Method Ejecutar( oSender, oMenu, cItem ) Class ....
Return Nil
Se puede ??
Gracias x Todo
Saludos
Att
Wilson 'W' Gamboa A
swrite@uio.satnet.net

Pasar Parametros a un menu

Publicado: Mar Ene 02, 2007 2:31 pm
por ignacio
Wilson,
El evento OnClick de un TMenuItem sólo recibe oSender y el objeto Menu
propietaro del TMenuItem. Nada más.
No obstante esta supuesta 'limitación' no tiene nada que ver con el
generador visual de menús. El evento OnClick sólo recibe esos dos
parametros, eso es todo.
Si lo que desea es tener un método general para ejecutar cualquier opción
dependiendo de un parametro tiene mucho más sentido que lo haga por partes,
primeramente el método responsable de ejecutar:
METHOD Ejecutar( nOpcion )
DO CASE
CASE nOpcion == 1
....
END CASE
RETURN NIL
Y luego en el OnClick del TMenuItem puede hacer esto:
METHOD MenuItemClick( oSender, o Menu )
::Ejecutar( 1 )
RETURN NIL
O sencillamente asignando el codeblock siguiente en el evento DESDE EL
PROPIO INSPECTOR:
oMenuItem:OnClick := {|| ::Ejecutar( 1 ) }
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Wilson 'W' Gamboa A" <swrite@uio.satnet.net> escribió en el mensaje
news:459a59eb$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Buenos dias y Feliz año nuevo a todos
>
> Pues eso que necesito pasarle parametros a un menu, me explico si uso el
> generador de menus , me genera en el copdigo del formulario si aumento el
> evento on click algo como lo siguiente
>
> :AddItem( "1.-Ingreso de Grupos","Ingreso de Grupos", 1,,,,,.T. ):OnClick
> := "Ejecutar"
>
>
> y el evento on click esta asi
>
> Method Ejecutar( oSender, oMenu ) Class ....
>
>
> Return Nil
>
> yo necesito pasarle un parametro algo como
>
> Method Ejecutar( oSender, oMenu, cItem ) Class ....
>
>
> Return Nil
>
>
> Se puede ??
>
> Gracias x Todo
> Saludos
>
> Att
>
> Wilson 'W' Gamboa A
> swrite@uio.satnet.net

Pasar Parametros a un menu

Publicado: Mar Ene 02, 2007 3:16 pm
por swrite
Ignacio, gracias x contestar
Pues si me he apañado con el texto :cMessage de tmenuitem con eso ya
puedo direccionar, eso lo tomo de osender que ha sido el tmenuitem
seleccionado
Gracias x Todo
Att
Wilson 'W' Gamboa A
swrite@uio.satnet.net
pd: no creo que sea limitación , pues es justo el tmenuitem lo que
necesito, lo he hallado gracias a la documentación que tienen ustedes y
al DEPURADOR !!!!!!!!!!!!!!!! que es una maravilla !!!, hasta ahora (Que
estoy recien iniciando una migración importante) he hecho todo lo que
he querido, es decir he adaptado mi viejo menu de dos al de uds de
windows con el chequeo de permisos a nivel de menu de usuario, gracias x
esta herramienta y adelante!!!