Disable Menu-Bar

Discussão em 'Progress 4GL' iniciado por DFResmer, Dezembro 6, 2011.

  1. DFResmer

    DFResmer Membro Participativo

    Olé Galera!
    Tenho um menu bar que criei para os usuários, mas quero colocar condições que dependendo do usuário preciso desabilitar alguns itens do menu, alguém tem alguma idéia de como posso fazer?

    Att,

    Diogo
  2. DFResmer

    DFResmer Membro Participativo

    Olá Galera!
    Será que é impossível desabilitar as funções do menu por comando? Eu tentei de várias maneiras mas não consegui.

    Att,

    Diogo
  3. LeandroSantos

    LeandroSantos Membro Participativo

    Se este menu for fixo no seu programa não tem como.

    O que você vai ter que fazer é criar uma estrutura no banco cadastrar os menus definir permições e criar o menu dinamicamente e dependendo do usuário é só desabilitar o menu(menu-item:sensitive = no) ou simplesmente não cria o menu.
  4. MFerreira

    MFerreira Membro Participativo

    Eu consegui uma forma, mesmo com menus fixos, caso ainda precise, contate aqui... to com pressa agora, hehe, desculpe
  5. DFResmer

    DFResmer Membro Participativo

    Estou precisando ainda sim, se tiver favor me passar.
    Obrigado!
    Att,

    Diogo
  6. MFerreira

    MFerreira Membro Participativo

    Então, veja se isso te atende:

    criei o menu normal numa window. O menu foi definido na mão, com nome m_Teste
    O Menu tem duas opções (2 menu bar), Teste 1 (m_Teste) e Teste 2 (m_Teste2 - não coloquei a lógica que fiz pra esse pois é basicamente a mesma do m_teste).
    Cada um deles, tem um sub-menu Teste 1.1 , Teste 1.2 e Teste 1.3 e Teste 2.1, Teste 2.2 e Teste 2.3.

    Pois Bem, a regra abaixo, irá desabilitar no menu Teste 1 (m_teste) os botões Teste 1.1 (Que mudei o nome para mT11) e Teste 1.3 (m_teste_13)

    Código:
    DEFINE VARIABLE hChild AS HANDLE NO-UNDO.
    
    ASSIGN hChild = SUB-MENU m_Teste:FIRST-CHILD.
         REPEAT:
    
             MESSAGE hChild:NAME SKIP 
                 SUB-MENU m_Teste:LAST-CHILD skip
                  hChild SKIP
                 "Nome" hChild:NAME
                 VIEW-AS ALERT-BOX INFO BUTTONS OK.
    
             IF hChild:NAME = "mT11" OR
                hChild:NAME = "M_Teste_13" THEN DO:
                 MESSAGE hChild:SENSITIVE
                     VIEW-AS ALERT-BOX INFO BUTTONS OK.
                 ASSIGN hChild:SENSITIVE = NO.
             END.
    
             
             IF SUB-MENU m_Teste:LAST-CHILD = hChild THEN 
                 LEAVE.
    
             hChild = hChild:NEXT-SIBLING.
         END.
    
    

Compartilhe esta Página