
Utilizando um novo conceito em seus programas, você pode aprender a criar menus totalmente dinâmicos sem a utilização do Dialog System. E se quiser dar uma gorjeta ao garçom, utilize o link do PagSeguro, aqui mesmo no blog.
Através do método "getMenubar" da classe Window, podemos pegar o menu de uma janela e criar submenus e ítens de menus, com os métodos das classes Menubar, Submenu e Menuitem. Tudo isso no fonte Cobol, sem a necessidade de utilizar o Dialog System.
Dentro do Dialog System, um evento especial detecta quando um ítem de menu criado fora do Dialog System foi selecionado. Chama-se ANY-OTHER-MENU-EVENT. O registrador especial $EVENT-DATA contém a identificação do ítem de menu selecionado.
Com esse código identificador, basta retornar ao programa Cobol e utilizar o método "menuitemAtCommand", com o objeto da classe Window. Um comando evaluate pode então detectar qual ítem de menu foi selecionado.
O fonte com a demonstração desse artigo encontra-se disponível para download no site do Clube Cobol.
4 comentários:
Estou fazendo um sisteminha cujo menu usa esse conceito.
Criei um controlador (CBLTBAR) que cria um menu com uma toolbar (na verdade já defino estes no DS) e dá outros procedimentos.
Tenho um arquivo texto com as opções de menu, leio este arquivo, pego o item e chamo CBLTBAR para incluir este item.
Todos item selecionados vão para a mesmo entry (OnItemSelected) e geram o mesmo Event-Type, a ação, que no momento é o nome do programa a ser chamado, esta identificada no arquivo texto que guardo em um array.
Com isso é possível controlar com facilidade quais os itens o usuário pode ver, ou até mesmo criar um menu (arquivo texto) para cada usuário.
Eu pretendo fazer o usuário escolher as opções que ele usa e criar o MyMenu.mnu.
Pô! Alexandre ! Você foi rápido ! Comentei com você isso ontem e hoje já tem até exemplo pronto no Clube Cobol ?
Parabéns, cara ! Pessoas e profissionais como você é que nos amina na luta do dia a dia ! Vou baixar o exemplo e tentar aplicar no sistema que estou desenvolvendo.
Novamente, Parabéns !!!!
Oi, Alexandre.
Boa noite. Como eu te disse no email, baixei o programa do Clube Cobol e consegui fazê-lo funcionar com as minhas configurações. Só não consegui fazer o ANY-OTHER-MENU-EVENT funcionar. O que pode estar errado ?
Grande amigo, o link para download esta quebrado, grande abraço
Postar um comentário