Page 1 of 1

bug Menu estilo 2015 [SOLUCIONADO]

Posted: Tue Mar 31, 2020 2:56 pm
by MOISES
Hola:

En los menús, cuando se activa el estilo 2015 y la opción tiene un when .f., el cursor por encima no se muestra plano.

Gracias.

Re: bug Menu estilo 2015

Posted: Tue Mar 31, 2020 4:44 pm
by cnavarro
Moises, ponme un pequeño ejemplo autocontenido
Gracias

Re: bug Menu estilo 2015

Posted: Tue Mar 31, 2020 4:57 pm
by cnavarro
De todas formas, aquí te pongo un ejemplo, para que me digas qué es lo que consideras un "bug". Gracias

Code: Select all

// Autor:  Cristobal Navarro
// Fecha:  01/01/2016
// Pruebas de Menus
//

#include "FiveWin.ch"
#include "wcolors.ch"

//----------------------------------------------------------------------------//
static oWnd
static oMru1
static oMru2
Static cColorPan
Static oFontMenu

//----------------------------------------------------------------------------//

function Main()

   local oBar, oBar1, oBar2
   local cTitle, x
   Local cFont   := "Segoe UI Symbol" // SemiBold"  //"Calibri"
   Local cFontH  := -14  
   Local aFonts

   FW_SetUnicode( .T. )
   SetResDebug( .T. )

   if !IsWin8() .and. !IsWindows10()
      cFont   := "Calibri"
   endif

  DEFINE FONT oFontMenu NAME cFont SIZE 0, cFontH WEIGHT 300

  cTitle := " Menus: " + ;
      if( !Empty( oFontMenu ), oFontMenu:cFaceName, "Font not defined " ) +;
      if( !Empty( oFontMenu ), Str( oFontMenu:nHeight ), " " )

  DEFINE WINDOW oWnd FROM 3, 6 TO 20, 70 MDI ;
      TITLE cTitle MENU BuildMenu() COLOR CLR_WHITE, RGB( 116, 149, 193 )
   //oWnd:SetFont( oFontMenu )

   ACTIVATE WINDOW oWnd MAXIMIZED
   
   if !Empty( oFontMenu )
      While oFontMenu:nCount > 0
         oFontMenu:End()
      Enddo
   endif

   if File( "checkres.txt" )
      FErase( "checkres.txt" )
   endif
   CheckRes()

return nil

//----------------------------------------------------------------------------//

Function BuildMenu( oW )

   Local oMenu
   Local oMnu
   Local oGraba
   Local cPrompt := "                              "

   DEFAULT oW    := oWnd

   MENU oMenu  2015 FONT oFontMenu

      MENUITEM "&Archivos" COLORMENU CLR_BLUE ITALIC
      MENU
         MENUITEM "&Nuevo item Mru" CHECKED
         MENUITEM "&Files  " COLORRIGHT CLR_HBLUE
         MENU
            MENUITEM "&Nuevo" CHECK
            MENUITEM "&Open"  CHARICON "A" ITALIC
            SEPARATOR
            MENUITEM "&Nuevo proceso" CHARICON "P" RIGHTCOLOR CLR_HRED BOLD
         ENDMENU
         MENUITEM "&New    " CHARICON 57696 
         MENUITEM "&Child  " RESOURCE "new" BOLD
         MENUITEM "&New    " DISABLED 
         SEPARATOR
         MENUITEM "&Salir" ACTION oWnd:End() COLORRIGHT CLR_HRED BOLD ITALIC
      ENDMENU

      MENUITEM "E&ditar" COLORMENU CLR_RED BOLD
      MENU
         MENUITEM "&Nuevo" CHECKED
         MENUITEM "&Open"  CHARICON "A" ITALIC
         MENUITEM "&1.- Item 1"     RESOURCE "icon"  DISABLED
         MENUITEM "&2.- Item 2"     CHARICON 58020 COLORRIGHT CLR_YELLOW
         MENUITEM "&3.- Item 3"     CHARICON 57696 BOLD ITALIC
         MENUITEM "&4.- Item 4"     CHARICON 57756 COLORRIGHT CLR_HRED
         MENUITEM "&5.- Item 5"     CHARICON 57736 COLORRIGHT CLR_MAGENTA
         SEPARATOR
         MENUITEM "&Grabar como." CHARICON 57605
      ENDMENU

      MENUITEM "&Buscar" COLORMENU CLR_GREEN
      MENU
         MENUITEM "&Nuevo"  CHECKED
         MENUITEM "&Open"   CHARICON "A"
         SEPARATOR
         MENUITEM "Uno"     RESOURCE "icon"  DISABLED
         MENUITEM "Dos"     WHEN .F. CHARICON 58020
         MENUITEM "* SEPARATOR" + CRLF + "- Linea 2   "      SEPARATOR COLORRIGHT CLR_HBLUE
         MENUITEM "Tres"    CHARICON 57696 COLORRIGHT CLR_GREEN
         MENUITEM "Cuatro"  CHARICON 57756 BOLD
         MENUITEM "Cinco"   CHARICON 57736 BOLD ITALIC
         SEPARATOR
         MENUITEM "&Grabar como." CHARICON 57605
      ENDMENU

      MENUITEM "&Modificar" COLORMENU CLR_BROWN  BOLD ITALIC
      MENU
         MENUITEM "&Nuevo proceso" CHARICON "P"
         SEPARATOR
         MENUITEM "&Abrir" + CRLF + "Linea 2"  CHARICON "W" COLORRIGHT CLR_BLUE BOLD
         MENUITEM "&Nuevo"         CHECKED  DISABLED
         MENUITEM "SEPARATOR" + CRLF + "Linea 2"      SEPARATOR BOLD ITALIC COLORRIGHT CLR_HRED
         MENUITEM "&Grabar como."  RESOURCE "icon"
      ENDMENU

      //oMenu:AddEdit()
      //oMenu:AddMdi()
      oMenu:AddFile()      
      oMenu:AddHelp( "FiveWin Menus", "FiveTech 1993-2015" )
   ENDMENU

Return oMenu

//----------------------------------------------------------------------------//

 

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 8:02 am
by MOISES
Cristóbal:

Muchas gracias por tu atención. El problema se produce con los ítems que tienen un when y en .f. para que no estén activos:

https://imgur.com/a/aU7nVGJ

Y el ejemplo:

Code: Select all

#include "FiveWin.ch"

static oWnd

//----------------------------------------------------------------------------//

function Main()

   SET _3DLOOK ON

   DEFINE WINDOW oWnd FROM 1, 1 TO 22, 75 ;
      TITLE "Test Menu" MENU BuildMenu() ;
      MDI

   SET MESSAGE OF oWnd TO FWVERSION CLOCK DATE KEYBOARD NOINSET 2015

   ACTIVATE WINDOW ownd MAXIMIZED

RETURN NIL

//----------------------------------------------------------------------------//

function BuildMenu()

   local oMenu

   MENU oMenu 2015

      MENUITEM "Item 1"
         MENU
            MENUITEM "Item 1 - Sub 1" MESSAGE "Item 1 - Sub 1" ;
               ACTION MsgInfo( "any action" ) ;
               ACCELERATOR 0, VK_F2
            MENUITEM "Item 1 - Sub 2" MESSAGE "Item 1 - Sub 2" when .f.
         ENDMENU

      MENUITEM "Item 2"
         MENU
            MENUITEM "Item 2 - Sub 1" MESSAGE "Item 2 - Sub 1"
            MENUITEM "Item 2 - Sub 2" MESSAGE "Item 2 - Sub 2"
         ENDMENU


      MENUITEM "Short"
         MENU
            MENUITEM "abcd" MESSAGE "dd"
         ENDMENU

      MENUITEM "Shorter"
         MENU
            MENUITEM "ab" MESSAGE "dd"
         ENDMENU

      MENUITEM "&Exit"


   ENDMENU

return oMenu

Aprovecho para preguntarte si tenéis ya implementado el estilo 2015 en los BTNBMPs.

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 9:26 am
by cnavarro
Moisés, en el ejemplo que te puse también había items con la claúsula WHEN .F.
Explícame cual es el problema que ves porque yo no noto nada raro

Image

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 9:43 am
by MOISES
Cristóbal:

Selecciona un ítem desactivado y verás que el gradiente no es plano como cuando está en modo activo.

Muchas gracias.

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 9:47 am
by cnavarro
Lo miro más detenidamente y te digo, quizás es que ya mi vista no es la que era :D
Pero para que me quede claro, ves como un pequeño gradiente cuando está Disable, es eso?

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 9:55 am
by MOISES
Efectivamente, tiene que ser igual de plano que el modo normal. Fíjate que cuando está desactivado tiene como tripa, al no ser flat.

Como no se incluye el código fuente no te puedo decir más.

Muchas gracias.

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 12:10 pm
by cnavarro
Todo el código fuente respecto a los menús está incluído en tu distribución

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 12:25 pm
by cnavarro
Es cuestión de gustos, aunque reconozco que por "estilo", no debería tener ningún tipo de gradiente
La modificación es la siguiente
En la function void set2015SkinMenu( void ) de menudraw.c, ponerlos todos iguales

Code: Select all

   skinMenu.clr_gradGrayed1_1   = RGB( 235, 236, 236 );//RGB( 244, 245, 245 );  //Interior caja seleccion items no activos mitad superior
   skinMenu.clr_gradGrayed1_2   = RGB( 235, 236, 236 );
   skinMenu.clr_gradGrayed2_1   = RGB( 235, 236, 236 );  //Interior caja seleccion items no activos mitad inferior
   skinMenu.clr_gradGrayed2_2   = RGB( 235, 236, 236 );//RGB( 227, 228, 228 );
 
Lo añadiré para que salga modificado en la próxima versión

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 5:28 pm
by MOISES
Muchas gracias Cristóbal.

Si quieres puedo testearlo con las librerías nuevas antes de que lo saquéis en la versión del mes.

Re: bug Menu estilo 2015

Posted: Wed Apr 01, 2020 8:32 pm
by cnavarro
Moisés, qué compilador de C utilizas?, y, además doy por hecho que usas Harbour, no?

Re: bug Menu estilo 2015

Posted: Fri Apr 03, 2020 12:34 pm
by MOISES
Uso harbour, Bcc 7.40 y MSVC 2019 también, aunque lo podemos probar de momento en BCC 7.40

Muchas gracias.