FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como redefino ButtonBar en la ejecuciòn
Posts: 188
Joined: Wed Feb 01, 2006 06:59 PM

Como redefino ButtonBar en la ejecuciòn

Posted: Mon Apr 06, 2009 01:14 PM
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 (fw): Select all Collapse
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 (fw): Select all Collapse
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
Posts: 188
Joined: Wed Feb 01, 2006 06:59 PM

Re: Como redefino ButtonBar en la ejecuciòn

Posted: Wed Apr 08, 2009 01:37 AM

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

Saludos

Fernando Espinoza

Saludos



Fernando Espinoza
Posts: 161
Joined: Wed Jan 25, 2006 10:45 AM

Re: Como redefino ButtonBar en la ejecuciòn

Posted: Wed Apr 08, 2009 07:50 AM

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

Continue the discussion