Buenos dias !!!
Quiero cambiar el color de fondo de mi menú.
Revisando en el foro ví una solución que propuso CESAR.
La quise implementar y me pasa lo siguiente:
1- si coloco la clausula POPUP el menú NO se muestra.
2- las clausulas que sugirió CESAR no las toma. Al compilar da error en clausula BLOCK. y el editor (xEdit) ni siquiera las roma como palabras ya definidas.
sera por la versión de mi FW? (12.06)
así es como lo tengo implementado por si alguien puede echarme una mano. GRACIAS!!!
*----------------------------------------------------------------------------//
function MenuPrin()
local i := 0
local TablaMnu := {}
local cAccion
// aca armo el menu de este usuario
if Nivel==1 .OR. Nivel==2
OPCMENU->(DbEval({|| aadd(TablaMnu,{Orden,Tipo,Opcion,Mensaje,Accion,Imagen}) };
,{|| !deleted() };
,{|| !eof() }))
elseif PERFILFW->(DbSetOrder(1),dbseek(cript(Usuari))) // aca lleno la tabla TablaMnu con las opciones permitidas
PERFILFW->(DbEval({|| if( OpcMenu->(DbSetOrder(1),Dbseek(PERFILFW->Clave)),;
aadd(TablaMnu,{OpcMenu->Orden,OpcMenu->Tipo,OpcMenu->Opcion,OpcMenu->Mensaje,OpcMenu->Accion,OpcMenu->Imagen}) ,;
if(Rlock(),(dbdelete(),dbunlock()),NIL) ) },,;
{|| !eof() .and. PERFILFW->Usuario==Cript(Usuari) }))
else
MsgInfo('Usuario sin Perfil Definido')
endif
// MENU oMenu
MENU oMenu COLORS
for i:=1 to len(TablaMnu)
do case
case TablaMnu[i,2] == 0 // marca opcion principal del menu
MENU
case TablaMnu[i,2] == 1 // subopcion del menu
if ! Empty( cAccion := TablaMnu[i,5])
MENUITEM ( AllTrim( oemtoansi(TablaMnu[i,3]) ) ) ;
BLOCK &( cAccion ) ;
MESSAGE ( AllTrim( oemtoansi(TablaMnu[i,4]) ) ) ;
FILENAME TablaMnu[i,6]
* COLORMENU CLR_RED, CLR_BLUE ;
* LEFTCOLOR CLR_WHITE, CLR_YELLOW ;
* COLORPNEL CLR_CYAN, CLR_BROWN ;
* COLORSELECT CLR_HMAGENTA, CLR_HGREEN
else
MENUITEM ( AllTrim( oemtoansi(TablaMnu[i,3]) ) )
endif
case TablaMnu[i,2] == 2 // separador
SEPARATOR
case TablaMnu[i,2] == 3 // final del menu
ENDMENU
endcase
next
ENDMENU
return oMenu
*----------------------------------------------------------------------------//