Page 1 of 1

oMenuItem:SetCheck(.T.)

Posted: Mon Jun 03, 2013 8:22 pm
by Leo
Tengo el siguiente problema, ya sea con Estilo 2007 o 2010, el setcheck del menuitem no me funciona, lo marque o desmarque, aún cuando cambio el estado del item, este continua checkeado... Alguien sabe por qué?

Re: oMenuItem:SetCheck(.T.)

Posted: Tue Jun 04, 2013 12:34 pm
by karinha
Hola, asi funciona bien...

Code: Select all

// Mensagens da Barra, Relogio, fecha, Status, Etc.
#Define CLOCK_ON       OemToAnsi( "Ligar/Desligar o Rel¢gio da Barra de Mensagens." )
#Define CLOCK_OFF      OemToAnsi( "Desligar/Ligar o Rel¢gio da Barra de Mensagens." )
#Define DATE_ON        OemToAnsi( "Ligar/Desligar a Data da Barra de Mensagens." )
#Define DATE_OFF       OemToAnsi( "Desligar/Ligar a Data da Barra de Mensagens." )
#Define KEYB_ON        OemToAnsi( "Ligar/Desligar o Status do Teclado " + ;
                                  "da Barra de Mensagens." )
#Define KEYB_OFF       OemToAnsi( "Desligar/Ligar o Status do Teclado " + ;
                                  "da Barra de Mensagens." )

// Mensagens da Barra, Botao do Mouse Para Destros e Canhotos.
#Define MOUSE_ON       OemToAnsi( "Ligar o Mouse Para Destros(BotÆo "  + ;
                                  "Esquerdo do Mouse)-Default ‚ o "    + ;
                                  "BotÆo Esquerdo." )
#Define MOUSE_OFF      OemToAnsi( "Ligar o Mouse Para Canhotos(BotÆo " + ;
                                  "Direito do Mouse)-Inverter o "      + ;
                                  "<Click> do Mouse." )

// Menu Para Ligar/Desligar a Barra de Mensagens do Menu Principal
#Define MENU_CLOCK_ON  OemToAnsi( "Ligar/Desligar o Rel¢gio" )
#Define MENU_CLOCK_OFF OemToAnsi( "Desligar/Ligar o Rel¢gio" )
#Define MENU_DATE_ON   OemToAnsi( "Ligar/Desligar a Data" )
#Define MENU_DATE_OFF  OemToAnsi( "Desligar/Ligar a Data" )
#Define MENU_KEYB_ON   OemToAnsi( "Ligar/Desligar Teclado" )
#Define MENU_KEYB_OFF  OemToAnsi( "Desligar/Ligar Teclado" )

// Menu Para Ligar/Desligar o Mouse BotÆo Para Destros ou Canhotos
#Define MENU1_MOUSE_ON  OemToAnsi( "Ligar o Mouse(Destros) " )
#Define MENU2_MOUSE_OFF OemToAnsi( "Ligar o Mouse(Canhotos)" )


STATIC oWndMain, oReloj, oDate, oKeyb, oMouseOn, oMouseOff, oBmpFundo

FUNCTION...


                 SEPARATOR
                 MENUITEM oReloj PROMPT MENU_CLOCK_ON                         ;
                     CHECKED                                                  ;
                     MESSAGE CLOCK_ON                                         ;
                     ACTION( Click(), Troca_Controle( 1 ) )

                 SEPARATOR
                 MENUITEM oDate PROMPT MENU_DATE_ON                           ;
                     CHECKED                                                  ;
                     MESSAGE DATE_ON                                          ;
                     ACTION( Click(), Troca_Controle( 2 ) )

                 SEPARATOR
                 MENUITEM oKeyb PROMPT MENU_KEYB_ON                           ;
                     CHECKED                                                  ;
                     MESSAGE KEYB_ON                                          ;
                     ACTION( Click(), Troca_Controle( 3 ) )

                 SEPARATOR
                 MENUITEM oMouseOn PROMPT MENU1_MOUSE_ON                      ;
                     CHECKED                                                  ;
                     MESSAGE MOUSE_ON                                         ;
                     ACTION( Click(), Troca_Controle( 4 ) )

                 SEPARATOR
                 MENUITEM oMouseOff PROMPT MENU2_MOUSE_OFF                    ;
                     MESSAGE MOUSE_OFF                                        ;
                     ACTION( Click(), Troca_Controle( 5 ) )

RETURN

//-------------------Controle do Painel do Windows----------------------------//

Static Function Troca_Controle( nOpcao_Controle )

    Do Case

       Case nOpcao_Controle == 1
           If oWndMain:oMsgBar:oClock # nil
               oWndMain:oMsgBar:ClockOff()
               oReloj:cMsg := CLOCK_ON
               oReloj:SetCheck( .F. )
            else
               oWndMain:oMsgBar:ClockOn()
               oReloj:cMsg := CLOCK_OFF
               oReloj:SetCheck( .t. )
           Endif

       Case nOpcao_Controle == 2
           If  oWndMain:oMsgBar:oDate # nil
               oWndMain:oMsgBar:DateOff()
               oDate:SetCheck( .F. )
            Else
               oWndMain:oMsgBar:DateOn()
               oDate:SetCheck( .t. )
           Endif

       Case nOpcao_Controle == 3
           If oWndMain:oMsgBar:oKeyNum # nil
               oWndMain:oMsgBar:KeybOff()
               oKeyb:SetCheck( .F. )
            Else
               oWndMain:oMsgBar:KeybOn()
               oKeyb:SetCheck( .t. )
           Endif

       Case nOpcao_Controle == 4
           If oWndMain:oMsgBar:oKeyNum # nil
               Destros()
               oMouseOn:SetCheck( .T. )
               oMouseOff:SetCheck( .F. )
           Endif

       Case nOpcao_Controle == 5
           If oWndMain:oMsgBar:oKeyNum # nil
               Canhotos()
               oMouseOn:SetCheck( .F. )
               oMouseOff:SetCheck( .T. )
           Endif

    endcase

Return Nil