Bitmap de opcion de menu queda desabilitado.

Bitmap de opcion de menu queda desabilitado.

Postby jvtecheto » Sun Aug 15, 2021 6:58 pm

Hola.

En el menu de la aplicacion utilizo bitmaps en algunas opciones.
Desabilito la opcion cuando entro en el, y lo vuelvo a habilitar cuando salgo,
con la opcion de menu funciona muy bien, pero el icono asociado a la opcion no se habilita,
la opcion de menu, sigue funcionando pero el resultado estetico no es el el adecuado.
queda con este estado en gris , me explico no ?.

Como haceis para que el bitmap asociado a la opcion de menu quede nuevamente habilitado.

Muchisimas gracias por vuestra ayuda.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Bitmap de opcion de menu queda desabilitado.

Postby karinha » Sun Aug 15, 2021 10:50 pm

Simples, asi:

Code: Select all  Expand view

   PUBLIC oPropo
   PUBLIC lLigaBtnPropo := .T.

   DEFINE BUTTON oPropo OF OBAR RESOURCE "FOLDER2" PROMPT "Proposta"         ;
      MESSAGE OemToAnsi( "Cadastrar Dados Para Contrato e Proposta" )        ;
      ACTION( PROPOSTA( oPropo ) )                                           ;
      TOOLTIP OemToAnsi( "Cadastrar Dados Para Contrato e Proposta" )        ;
      NOBORDER GROUP WHEN( lLigaBtnPropo )

//

FUNCTION PROPOSTA( oPropo )

   LOCAL oDlg, oGroup, oFnt, oFont, IDCor, oSaida, aGet := ARRAY(5), oLbx
   LOCAL cAlias, oIncluir, oAlterar, oExcluir, oImprimir, lImpProposta := .T.
   LOCAL nKey, aGrad, oDuplicar, oRadMenu, nPropBusca := 0
   LOCAL oBtnProposta, cTitle, lTemPropSemCod := .F., oBtnTroca

   PUBLIC lFechaJan, lLigaBtnPropo

   HB_GCALL( .F. )

   lFechaJan := .F.

   // Para Impedir Uma 2¦ Abertura de Janela!!!
   IF lAbrePropo = .F.

      lAbrePropo := .T.

   ELSE

      MsgInfo( OemToAnsi( "ATEN€ÇO:                         " +CRLF+ ;
                          "A JANELA DA PROPOSTA Jµ ESTµ     " +CRLF+ ;
                          "ABERTA NO RODAP DO PROGRAMA     " +CRLF+ ;
                          "MAXIMIZE A JANELA PARA TRABALHAR." +CRLF+ ;
                          "USE O BOTÇO <Saida> PARA FECHAR. " +CRLF+ ;
                          "CUIDADO PODE QUEBRAR OS BANCOS.  " ),     ;
               OemToAnsi( "JANELA Jµ ESTA ABERTA NO RODAP. " ) )

      lLigaBtnPropo := .F.

      oPropo:Disable()
      oPropo:Refresh()

      lAbrePropo := .F.

      RETURN NIL

   ENDIF


   // Salida...
   REDEFINE BUTTONBMP oSaida ID 306 OF oDlg RESOURCE "154" TEXTRIGHT         ;
      ACTION ( lLigaBtnPropo := .T., oPropo:Enable(), oPropo:Refresh(),      ;
               lAbrePropo := .F., lFechaJan := .T., oWndBrow:End(), oDlg:End() ) CANCEL

   oSaida:cTooltip := { "Click no Botão Para Sair",                          ;
                        "Saida - Exit - Cancelar ", 1, CLR_WHITE, CLR_CYAN }
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7769
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Bitmap de opcion de menu queda desabilitado.

Postby cnavarro » Mon Aug 16, 2021 8:36 am

Jose, pon un simple ejemplo de la linea del MENUITEM para ver como lo estás implementando
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Bitmap de opcion de menu queda desabilitado.

Postby jvtecheto » Tue Aug 17, 2021 8:34 am

Buenos dias:

Joao , Cristobal muchisimas gracias por vuestro tiempo.

Joao en la buttonbar que duplica las opciones del menu general no tengo ningun problema, se desabilita y habilita correctamente.

El problema es en los bitmaps de las opciones del menu, hay que controlar la salida general del programa que lo hago asi.

Code: Select all  Expand view

MENUITEM "&Salir" + Chr( 9 ) + "Alt-F4" RESOURCE "Exit3" ACTION oWndMain:END() ACCELERATOR ACC_ALT, VK_F4;
      WHEN Len( oWndMain:oWndClient:aWnd ) == 0 MESSAGE "Abandonar el Programa"
 
 


Y en las opciones de abrir ventanas hijas lo hago asi.
Code: Select all  Expand view

MENUITEM oMenuArt PROMPT "&Articulos" RESOURCE "Articul2" ;
      ACTION ArtiBrw( oMenuArt, oArt ) MESSAGE "Mantenimiento de Articulos"
 

Y una vez entro en la funcion por supuesto hago esto
Code: Select all  Expand view

   oMenuArt:Disable()
   oArt:Disable()
 

y al salir de la ventana
Code: Select all  Expand view

ACTIVATE WINDOW oWndArt VALID ( oMenuArt:Enable(),oArt:Enable(), .T.) // Tengo mas cosas aqui pero lo simplifico
 


Como veis todo el codigo es muy sencillo y la opcion de menu funciona perfectamente se desabilita y habilita sin problemas, lo
que no se habilita nunca es el pintado del bitmap que tras la primera abertura de ventana queda desabilitado, supongo que no hace
falta publicar ninguna foto y se entiende.
Tampoco publique el codigo ya que como es tan simple consideraba que se entendia.

¿Como lo haceis vosotros para que el bitmap asociado a la opcion del menu se desabilite y posteriormente se habilite como estaba antes?

Muchisimas gracias por vuestro tiempo.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Bitmap de opcion de menu queda desabilitado.

Postby cnavarro » Tue Aug 17, 2021 10:02 am

Jose, prueba simplemente a no usar el :disable() y usa, el WHEN en el MENUITEM ( yo suelo usar una variable que seteo a .T. o .F. ---> WHEN lSw )
Dime qué ocurre entonces.
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Bitmap de opcion de menu queda desabilitado.

Postby karinha » Tue Aug 17, 2021 12:07 pm

Code: Select all  Expand view

FUNCTION Main()

   PUBLIC lLigaBtnChama := .T., lLigaBtnPropo := .T., lLigaBtnOrca := .T.

return nil

function BuildMenu()


      MENUITEM "&Orçamento" COLORMENU CLR_HBLUE BOLD ;
         WHEN( lLigaBtnOrca ) RESOURCE "152"

return nil
 


Regards, saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7769
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Bitmap de opcion de menu queda desabilitado.

Postby jvtecheto » Thu Aug 19, 2021 9:44 am

Hola Cristobal , Joao

Muchisimas gracias por vuestra ayuda.

Yo creo, en mi humilde opinion que me lo que sugeris que haga es practicamente esto, que ya hago.

Code: Select all  Expand view

MENUITEM "&Salir" + Chr( 9 ) + "Alt-F4" RESOURCE "Exit3" ACTION oWndMain:END() ACCELERATOR ACC_ALT, VK_F4;
      WHEN Len( oWndMain:oWndClient:aWnd ) == 0 MESSAGE "Abandonar el Programa"
 


Esto como indico funciona perfectamente con la opcion del menu, lo que no habilita es el bitmap
y teniendo en cuenta que en los botones de la BUTTONBAR funciona perfectamente habilitar y desabilitar el bitmap

quizas con ligeros cambios en la clase TMenu o Tmenuitem, permitiria que el bitmap se activase de la misma forma que ocurre en el boton de la BUTTONBAR.

No se, gurus de Fivewin o Fivetech Team, tenerlo en cartera pegarle un vistazo permitiria su facil solucion.

Muchisimas gracias.

Saludos.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Bitmap de opcion de menu queda desabilitado.

Postby karinha » Thu Aug 19, 2021 11:30 am

Buen día. No tengo este efecto. ¿Puede simular un ejemplo completo y ZIPAR para realizar pruebas?

Anfitrión aquí:

https://mega.nz/

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7769
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 43 guests