hola adjunto envio el fichero del menu, selecciona "3-Apertura/Cambio Ejercicio" pulsando el numero 3 y comprobaras que se selecciona la opcion 1, gracias -------------------- hello attached envio the file of menu, selects "3-Apertura/Cambio Ejercicio" pressing I number 3 and you verified that option 1 is selected, thanks
Saludos Jose Miguel Szakáts Viktor <[EMAIL PROTECTED]> escribió: Hi Jose, Could you post a working example for this problem, so that I can compare the behavior to C5.3. Brgds, Viktor On 2008.01.04., at 16:30, Jose Miguel wrote: > Hola/Hello > > Cuando presiono un numero en el menu se selecciona siempre el primer > item, alguna solucion? > --------------------------------- > When I press I number in menu always selects the first item, some > solution? > > Este el el codigo/this is the code > /*** * * Menu.prg * * Sample menu handling functions * * Copyright (c) 1990-1995, Computer Associates International Inc. * All rights reserved. * * This is not meant to run as a standalone file. There are function * calls from within this file (such as MyCreateFile()) that do not * exist. This code can be modified, however, for your use. If it * is modified, use the /n switch when compiling. * * Compile: CLIPPER menu /n * Link: EXOSPACE FI menu * ***/ #include "button.ch" // Menu definitions #include "inkey.ch" // Key definitions // This function sets up the environment and then calls MENU_Create() to // create the menu. Finally, it waits for a menu event to occur by calling // the MenuModal() function. PROCEDURE MAIN() local oInfo // Allow mouse actions to take place SET( _SET_EVENTMASK, INKEY_ALL ) // Make the mouse cursor visible msetcursor(.T.) // Clear the screen cls // Create the menu oInfo=MENU_Create() // Wait for a menu event and do not exit until File/Exit is chosen MENUSELA:=0 MENUSEL1:=1 MENUSEL2:=1 MENUSEL3:=1 KEYBOAR CHR(13) DO WHILE .T. cls SET CONSOLE ON CLOSE DATABASES MENUSELA:=MenuModal(oInfo,MENUSEL1,24,1,79,"r/w") IF MENUSELA=999 EXIT ENDIF MENUSEL1:=VAL(SUBSTR(LTRIM(STR(MENUSELA)),1,1)) MENUSEL2:=VAL(SUBSTR(LTRIM(STR(MENUSELA)),2,1)) MENUSEL3:=VAL(SUBSTR(LTRIM(STR(MENUSELA)),3,1)) TECLA2:="CHR(13)" IF MENUSEL2<>0 FOR N=2 TO MENUSEL2 TECLA2:=TECLA2+"+CHR(24)" NEXT ENDIF IF MENUSEL3<>0 TECLA2:=TECLA2+"+CHR(13)" FOR N=2 TO MENUSEL3 TECLA2:=TECLA2+"+CHR(24)" NEXT ENDIF IF LEN(TECLA2)>0 KEYBOARD &TECLA2 ENDIF ENDDO SET CONSOLE OFF return // This function will create the menu and return the newly created // MenuObject as its return value. This menu consists of three "Main Menu choices" .. // File, Edit, and Options. Additionally, the Edit TopBarMenu item has a secondary menu for // one of its menu items. function MENU_Create() local oTopBar, oPopUp, oPopUpB, oItem // TopBar() creates the menu at the very top of the screen oTopBar := TopBar( 2, 0, 79) oTopBar:ColorSpec :="b/w,gr+/rb,r/w,w+/rb,n+/w,w+/b" // Create a new popup menu named FILE and add it to the TopBar object oPopUpA:= PopUp() oPopUpA:ColorSpec:= "b/w,gr+/rb,r/w,w+/rb,n+/w,w+/b" oTopBar:AddItem( MenuItem ( "&Remesas",oPopUpA) ) // Add some menu items to the newly created File popup oItem :=MenuItem( "&1-Altas/modif. Remesas " ,{|| MENU2(11) }, 49,"Altas y modificacion de Remesas", 11) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&2-Consultar Remesas " ,{|| MENU2(12) }, 50,"Consulta de Remesas", 12) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&3-Apertura/Cambio Ejercicio " ,{|| MENU2(13) }, 51,"Aperturar o cambiar de ejerccio", 13) oPopUpA:AddItem( oItem) oPopUpA:AddItem( MenuItem( MENU_SEPARATOR ) ) oItem :=MenuItem( "&4-TERMINAR " ,{|| .t. }, 52,"Salir del programa", 999) oPopUpA:AddItem( oItem) // Create a second popup menu named EDIT and attach it to oTopBar oPopUpA:= PopUp() oPopUpA:ColorSpec:= "b/w,gr+/rb,r/w,w+/rb,n+/w,w+/b" oTopBar:AddItem( MenuItem ( "&Listados",oPopUpA) ) // Add some menu items to this EDIT popup menu oItem :=MenuItem( "&1-Listado Remesas por Fecha " ,{|| MENU2(21)}, 49,"Listado Remesas por Fecha", 21) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&2-Listado Remesas por Cliente " ,{|| MENU2(22)}, 50,"Listado Remesas por Cliente", 22) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&3-Imprimir Remesa Standard " ,{|| MENU2(23)}, 51,"Imprimir remesas en formato standard", 23) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&4-Imprimir Remesa Fto.Personal. " ,{|| MENU2(24)}, 52,"Imprimir remesas en formato personal", 24) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&5-Grabar Remesa Fichero normas " ,{|| MENU2(25)}, 53,"Imprimir remesas en fichero de normas N19, N32, N58, N34", 25) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&6-Contabilizar Remesas " ,{|| MENU2(26)}, 54,"Contabilizar remesas en programa -SUIZO Contabildad-", 26) oPopUpA:AddItem( oItem) //Create a 3rd PopUpMenu called OPTIONS and attatch it to oTopBar oPopUpA:= PopUp() oPopUpA:ColorSpec:= "b/w,gr+/rb,r/w,w+/rb,n+/w,w+/b" oTopBar:AddItem( MenuItem ( "&Ficheros",oPopUpA) ) // Add some menu items to the newly created File popup oItem :=MenuItem( "&1-Altas/modif.Formatos Remesas " ,{|| MENU2(31) }, 49,"Altas o modificacion de formatos de remesas", 31) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&2-Altas/Modif.Subcuentas " ,{|| MENU2(32) }, 50,"Altas/Modif.Subcuentas", 32) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&3-Consulta de Subcuentas " ,{|| MENU2(33) }, 51,"Consulta de Subcuentas", 33) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&4-Actualizar Subcuentas " ,{|| MENU2(34) }, 52,"Actualizar Subcuentas", 34) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&5-Altas/Modif.Bancos " ,{|| MENU2(35) }, 53,"Altas/Modif.Bancos", 35) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&6-Consultar Bancos " ,{|| MENU2(36) }, 54,"Consultar Bancos", 36) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&7-Enlazar Empresas " ,{|| MENU2(37) }, 55,"Enlazar Empresas", 37) oPopUpA:AddItem( oItem) //Create a 4rd PopUpMenu called OPTIONS and attatch it to oTopBar oPopUpA:= PopUp() oPopUpA:ColorSpec:= "b/w,gr+/rb,r/w,w+/rb,n+/w,w+/b" oTopBar:AddItem( MenuItem ( "&Utilidad",oPopUpA) ) // Add some menu items to the newly created File popup oItem :=MenuItem( "&1-Modificar Datos de Impresion" ,{|| MENU2(41) }, 49,"Modificar datos de impresion", 41) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&2-Regenerar Ficheros " ,{|| MENU2(42) }, 50,"Regenerar ficheros", 42) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&3-Actualizar Version " ,{|| MENU2(43) }, 51,"Actualizar Version", 43) oPopUpA:AddItem( oItem) oItem :=MenuItem( "&4-Datos Programa " ,{|| MENU2(44) }, 52,"Datos Programa", 44) oPopUpA:AddItem( oItem) // Return our TopBar object back to MENU_Test() return ( oTopBar) // The following are dummy functions which do not do anything // These functions are here to avoid receiving Unresolved External // Errors RETURN STATIC FUNCTION MENU2(CODMENU) CLEAR SCREEN @ 10,10 SAY "PULSADA LA OPCION "+LTRIM(STR(CODMENU)) INKEY(0) Ejemplos y programas para MiniGUI Extended http://www.gateos.com/misdoc/programas/programas.html --------------------------------- Tarjeta de crédito Yahoo! de Banco Supervielle.Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. Visitá www.tuprimeratarjeta.com.ar
menu.prg
Description: 1227121954-menu.prg
_______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour