Page 1 of 2

Problemas con menues ( Solucionado )

Posted: Wed Feb 01, 2017 3:17 pm
by horacio
Colegas, tengo una tabla y una ribbonbar. En uno de sus botones tengo un menú que hace de switch entre datos de esa misma tabla. Adjunto imagen.

Image

Una vez que cambio los datos, cambio también el action y el prompt del menú, al pulsarlo nuevamente se ve de esta manera.

Image

Alguna pista ? Muchísimas gracias

Saludos

Re: Problemas con menues

Posted: Wed Feb 01, 2017 7:31 pm
by cnavarro
Qué version de Fw tienes?
Dime cómo lo estás haciendo

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:04 pm
by horacio
Gracias Cristobal por responder. Estoy compilando con FWH 17.01 ( BUILD 2 ), Harbour 3.2 y Bcc7. Compilando con la versióo 16.12 no sucede.

Así defino el menú

Code: Select all | Expand


//----------------------------------------------------------------------------//
Function PopupNoMat()

   Local oMenu
   Local oMnu := Array( 2, 0 )

   Menu oMenu PopUp _2010
        MenuItem oMnu[ 1 ] Prompt '&Tabla de históricos' Action If( !lHistorico, IrTablaHistoricos( oMnu ), IrTablaAlumnos( oMnu ) )
        MenuItem oMnu[ 2 ] Prompt '&Enviar a históricos' Action If( !lHistorico, EnviaAHistoricos(), EnviaAAlumnos() )
   EndMenu
   Return oMenu
 
 


Aqui cambio el prompt del menú

Code: Select all | Expand


//----------------------------------------------------------------------------//
Function IrTablaAlumnos( oMnu )

    lHistorico := .f.
    oMnu[ 1 ] : SetText( '&Tabla de históricos' )
    oMnu[ 2 ] : SetText( '&Enviar a históricos' )
    oQry : SetFilter( '' )
    oQry : SetFilter( 'es_historico == 0' )
    oBrw : GoTop()
    oBrw : Refresh()
    oBrw : SetFocus()
    oWnd : SetText( 'Tabla Alumnos' )
    Return 0   

//----------------------------------------------------------------------------//
Function IrTablaHistoricos( oMnu )

    lHistorico := .t.
    oMnu[ 1 ] : SetText( '&Tabla alumnos' )
    oMnu[ 2 ] : SetText( '&Enviar a padron actual' )
    oQry : SetFilter( '' )
    oQry : SetFilter( 'es_historico == 1' )
    oBrw : GoTop()
    oBrw : Refresh()
    oBrw : SetFocus()
    oWnd : SetText( 'Tabla Históricos' )
    Return 0   
 


Saludos

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:13 pm
by cnavarro
Intenta asi

Code: Select all | Expand


oMnu[ 01 ]:SetChangePrompt( "Nuevo Item" )
 


viewtopic.php?f=3&t=33528#p197792

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:29 pm
by horacio
Crisstobal, me tira este error

Code: Select all | Expand


   Error description: Error BASE/1004  No existe el m‚todo: HWND
   Args:
     [   1] = U  

Stack Calls
===========
   Called from:  => HWND( 0 )
   Called from: .\source\classes\MENUITEM.PRG => TMENUITEM:SETCHANGEPROMPT( 805 )
   Called from: C:\t-rex_sql\alumnos.prg => IRTABLAHISTORICOS( 309 )
   Called from: C:\t-rex_sql\alumnos.prg => (b)POPUPNOMAT( 286 )
   Called from: .\source\classes\MENU.PRG => TMENU:ACTIVATE( 1270 )
   Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONUP( 883 )
   Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONDOWN( 799 )
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1718 )
   Called from: .\source\classes\TRBTN.PRG => TRBTN:HANDLEEVENT( 1575 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3325 )
   Called from:  => WINRUN( 0 )
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1036 )
   Called from: C:\t-rex_sql\main.prg => START( 104 )
   Called from: C:\t-rex_sql\main.prg => MAIN( 12 )
 

Saludos

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:31 pm
by cnavarro
Bien, es un menu POPUP?
Ponme la definicion del menu? ( la primera linea )

Qué raro porque la linea 805 está dentro de un bloque de lineas comentadas

Image

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:37 pm
by horacio
La definición del menú se encuentra en el primer post

Saludos

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:43 pm
by cnavarro
Tienes razon, no me habia fijado bien

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:49 pm
by horacio
La linea 805 en mi fuente es la 811 en tu muestra

Saludos

Re: Problemas con menues

Posted: Wed Feb 01, 2017 8:50 pm
by cnavarro
Ok, voy a hacer unas pruebas y te comento

Hazme el favor de probar asi, para saber qué puede estar pasando

Code: Select all | Expand


Menu oMenu PopUp _2010 OF oWnd   // añade de momento OF <ventana>
 


o en el ACTIVATE POPUP .... OF oWnd

y dime

Re: Problemas con menues

Posted: Wed Feb 01, 2017 10:03 pm
by cnavarro
De todas formas, al margen de depurar el posible error que esa instrucción puede generar, podrías probar algo asi:

Code: Select all | Expand



   Menu oMenu PopUp _2010
        MenuItem oMnu[ 1 ] Prompt { || if( !lHistorico, '&Tabla alumnos', '&Tabla de históricos' }  Action If( !lHistorico, IrTablaHistoricos( oMnu ), IrTablaAlumnos( oMnu ) )
        MenuItem oMnu[ 2 ] Prompt { || if( !lHistorico, '&Enviar a padron actual', '&Enviar a históricos'  }  Action If( !lHistorico, EnviaAHistoricos(), EnviaAAlumnos() )
   EndMenu

 

Re: Problemas con menues

Posted: Wed Feb 01, 2017 11:33 pm
by horacio
Cristobal, referenciando la ventana funciona. Muchas Gracias

Saludos

Re: Problemas con menues (Solucionado)

Posted: Thu Feb 02, 2017 12:09 am
by cnavarro
Ok, pero dime si es correcto
- Tienes una ventana con una ribbonbar y debajo un browse, cierto?, o es un diálogo?
- Si es una ventana, es mdichild?

Re: Problemas con menues (Solucionado)

Posted: Thu Feb 02, 2017 12:58 am
by horacio
Cristobal, es una ventana MDICHILD con una ribbonbar y un xbrowse.

Saludos

Re: Problemas con menues

Posted: Thu Feb 02, 2017 8:43 pm
by horacio
Vuelvo sobre este tema. Si bien se solucionó el menú popup no me percate que el menú de la ventana desaparece. Adjunto imagen.

Image

Cuando referencio la ventana en el Menú Popup el menú de la ventana desaparece

Image

Saludos