FoxPro/Visual FoxPro - Menú a Prueba de Neo

 
Vista:

Menú a Prueba de Neo

Publicado por Plinio (7841 intervenciones) el 25/05/2007 00:14:38
Trata de tener un form1 y un form2 ahi para probar

**********************************
SET CLASSLIB TO OwnerDrawn_Menu
Barra_menu = CREATEOBJECT('PopupMenu')

Barra_menu.hWndParent = _VFP.hWnd &&El manejador de esa ventana --> IMPORTANTE

***Primero arreglo de la barra principal
DIMENSION barra_menu.amenupad(3,2) &&La barra tendra 3 opciones
barra_menu.amenupad[1,1]= "Entradas de Datos"
barra_menu.amenupad[1,2]= "E" &&Este sera funciona con ALT+E
barra_menu.amenupad[2,1]= "Reportes"
barra_menu.amenupad[2,2]= "R"
barra_menu.amenupad[3,1]= "Salir"
barra_menu.amenupad[3,2]= "S"
barra_menu.CreatePad()

**Primer de este ejemplo
barra_menu.CreatePopupItem(3) &&Contendra 3 opciones
barra_menu.aPopupItem[1] = 'Registro Clientes'
barra_menu.aPopupItem[2] = 'Registro Articulos'
barra_menu.aPopupItem[3] = 'Registro Suplidores'
barra_menu.CreatePopup( 1001, 1 ) &&1001 es como la numeracion que identifia este popup, el de reporte podria ser 2001

**2do Popup de este ejemplo
barra_menu.CreatePopupItem(2) &&Contendra 2 opciones
barra_menu.aPopupItem[1] = 'Reporte Cliente'
barra_menu.aPopupItem[2] = 'Reporte Articulos'
barra_menu.CreatePopup( 2001, 2 ) &&2001 es como la numeracion que identifia este popup, el de reporte podria ser 2001


**3er popup
barra_menu.CreatePopupItem(1) &&Contendra 1 opcion
barra_menu.aPopupItem[1] = 'Salir'
barra_menu.CreatePopup( 3001, 3 ) &&3001 salir

** Set Submenu to MainMenu
barra_menu.SetSubmenu( 1, 1 ) &&Pega al primera Opcion al primer menu (entrada de datos
barra_menu.SetSubmenu( 2, 2 ) &&pega 2 opcion al 2 (Reportes)
barra_menu.SetSubmenu( 3, 3 ) &&&&pega 3 opcion al menu 3 (salir)

barra_menu.BindMessages()

Activate menu (barra_menu.cMenuName) nowait

Read events


Procedure OnSelection( tn_MenuPos, tn_ItemId )

**OJO al Aqui pregunta al seleccionar la opcion dependiendo del menu qu tengas

Do case
&&MyMenu1 Es un procedimiento que pregunta por todas las opciones del Menu de Entradas de datos
Case (tn_MenuPos == 1)
MyMenu1( tn_MenuPos, tn_ItemId - 1000 )

&&MyMenu2 Es un procedimiento que pregunta por todas las opciones del Menu de Reportes
Case (tn_MenuPos == 2)
MyMenu2( tn_MenuPos, tn_ItemId - 2000 )

Otherwise
CLEAR EVENTS &&Parto de que presionaste Salir
EndCase
EndProc

Procedure MyMenu1( tn_MenuPos, tn_ItemPos )
Local lc_Msg
Do case
Case (tn_ItemPos == 1)
Do form Form1 with tn_MenuPos, tn_ItemPos &&Aqui llamo a form1

Case (tn_ItemPos == 2)
Do form Form2 with tn_MenuPos, tn_ItemPos &&Aqui llamo a form2

OTHERWISE
=MESSAGEBOX('No tengo ese formulario',0+16,'Aviso')
ENDCASE

EndProc

Procedure MyMenu2( tn_MenuPos, tn_ItemPos )
=MESSAGEBOX('no hice nada aqui')

EndProc
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Yes, Menú a Prueba de Neo

Publicado por neo (1604 intervenciones) el 25/05/2007 15:09:42
Lo voy a probar y ya con esto creo que, puedo entender el código..

Gracias Amigo Plinio....

Mas tarde te cuento...Saludos►

Que tengas un buen dia!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Gracias Amigo Plinio !!

Publicado por neo (1604 intervenciones) el 25/05/2007 15:35:47
Gracias por tu tiempo y por apoyarme en esto, te debo una.

cualquier cosa estoy a tus órdenes.

Note;
Te gustaría que, (cuendo termine de completar el menu) lo posteé por si los colegas desean implementar este menu en sus aplicaciones??

Saludos►
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias Amigo Plinio !!

Publicado por Plinio (7841 intervenciones) el 25/05/2007 16:01:14
- Eso no hay que preguntarlo, publicalo y documentalo lo mejor que puedas

- Tengo planes de visitar Mexico, este año si me dan la visa. Puedes pagarme con una buena botella de tequila
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Gracias Amigo Plinio !!

Publicado por neo (1604 intervenciones) el 25/05/2007 17:01:17
Lo tendré en cuenta, hasta 2 botellas....

Un Saludo....

Al menú el asignaré los iconos, y terminar los forms. En fin un ejemplo y despues lo posteo.

Gracias Compañero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar