Como redefino ButtonBar en la ejecuciòn

Post Reply
User avatar
fespinoza
Posts: 188
Joined: Wed Feb 01, 2006 6:59 pm
Location: Ecuador

Como redefino ButtonBar en la ejecuciòn

Post by fespinoza »

Hola amigos

Tengo el siguiente problema:

Primero, antes de crear mi ventana principal, defino un memu popup para una de las opciones de mi ButtonBar, asì:

Code: Select all

MENU oPopET POPUP 2007
   MENUITEM "Tabla &General" ACTION (oDlg:Hide(), ElbrFech(1,1), oDlg:Show()) MESSAGE "Elabora tabla de posiciones global del Campeonato"
   MENUITEM "Tabla &Local" ACTION (oDlg:Hide(), ElbrFech(2,1), oDlg:Show()) MESSAGE "Elabora tabla de posiciones como local de cada equipo del Campeonato"
   MENUITEM "Tabla &Visitante" ACTION (oDlg:Hide(), ElbrFech(3,1), oDlg:Show()) MESSAGE "Elabora tabla de posiciones como visitante de cada equipo del Campeonato"
   SEPARATOR
   MENUITEM ETPS[1] ACTION (oDlg:Hide(), ElbrEtpa(1), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[2] ACTION (oDlg:Hide(), ElbrEtpa(2), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[3] ACTION (oDlg:Hide(), ELBRETPA(3), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[4] ACTION (oDlg:Hide(), ELBRETPA(4), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[5] ACTION (oDlg:Hide(), ELBRETPA(5), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[6] ACTION (oDlg:Hide(), ELBRETPA(6), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[7] ACTION (oDlg:Hide(), ELBRETPA(7), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[8] ACTION (oDlg:Hide(), ELBRETPA(8), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[9] ACTION (oDlg:Hide(), ELBRETPA(9), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[10] ACTION (oDlg:Hide(), ELBRETPA(10), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[11] ACTION (oDlg:Hide(), ELBRETPA(11), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[12] ACTION (oDlg:Hide(), ELBRETPA(12), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[13] ACTION (oDlg:Hide(), ELBRETPA(13), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[14] ACTION (oDlg:Hide(), ELBRETPA(14), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada"
   MENUITEM ETPS[15] ACTION (oDlg:Hide(), ELBRETPA(15), oDlg:Show()) MESSAGE "Elabora tabla de posiciones de la etapa seleccionada" CHECK
ENDMENU
Luego defino la ventana principal y llamo al memu de la siguiente forma:

Code: Select all

DEFINE WINDOW oVent TITLE "SicefWin Versión 3.0" BRUSH oBrush ICON oApp:cIcono MENU Menu_H()
...
    DEFINE BUTTONBAR oBarra 3DLOOK SIZE 30,32 TOP OF oVent CURSOR oCursor
    DEFINE BUTTON oBtn[3] OF oBarra RESOURCE "TABLA" ACTION (oDlg:Hide(), ElbrEtpa(nNumEtp), oDlg:Show()) NOBORDER TOOLTIP "Elabora tablas de Posiciones" MESSAGE "Elabora tablas de Posiciones" MENU oPopET
...
ACTIVATE WINDOW oVent MAXIMIZED VALID MsgYesNo("¿Desea terminar?","Elija opción SI/NO") ON INIT IF(lBien, Bienvenido(), ) ;
    ON PAINT ( SayRotated(oVent, oVent:nVertRes()-165, oVent:nHorzRes()-72, "SicefWin 3.0", oFont3, CLR_RED, CLR_WHITE, .T.), ;
                  SayRotated(oVent, oVent:nVertRes()-165, oVent:nHorzRes()-25, "Todo sobre el fútbol Ecuatoriano", oFont4, CLR_BLUE, CLR_WHITE, .T.) )
 
El problema es que quiero modificar el contenido del menu oPopET durante la ejecuciòn del programa (reduzco las opciones y cambio el contenido de los MENUITEM); he probado con OVent:Update() y OBarra:Reload(), pero no me funciona, la definiciòn inicial del menu se mantiene ante cualquiera de mis intentos.

Alguna sugerencia., de que otra forma se puede hacer

Saludos desde Ecuador

Fernando Espinoza
Saludos

Fernando Espinoza
User avatar
fespinoza
Posts: 188
Joined: Wed Feb 01, 2006 6:59 pm
Location: Ecuador

Re: Como redefino ButtonBar en la ejecuciòn

Post by fespinoza »

Uff, dos días y ningún samaritano; por favor alguien que le de una ojeada a esto.

Saludos

Fernando Espinoza
Saludos

Fernando Espinoza
User avatar
Ricardo Ramirez E.
Posts: 161
Joined: Wed Jan 25, 2006 10:45 am
Location: Praia - Cape Verde
Contact:

Re: Como redefino ButtonBar en la ejecuciòn

Post by Ricardo Ramirez E. »

Fernando :
Has probado llamando a

METHOD Refresh() INLINE ::oWnd:SetMenu( Self ) // TMenu.

Lo puse asi de propósito, para que veas a que invocarias cuando indiques oPopET:Refresh()
Saludos
Ricardo R.
xHarbour 1.1.0 Simplex , Microsoft Visual Studio 2008, Bcc55, Fwh Build. 9.01
Post Reply