MENU POPUP fácil, console, compatível modo gráfico
Recentemente criei este comando e a lógica para usar a classe menu do Clipper/Harbour/xHarbour.
Obtendo 3 vantagens
- Criar Menus/Submenus facilmente para aplicações console
- Compatibilidade com Menu gráfico GTWV* (igual a minha antiga rotina, sintaxe semelhante)
- É compatível com a sintaxe e clausulas nativa no modo gráfico (Xailer/Windows). Facilitando para quem deseja migrar.
Code:
MENU [oMenu]
MENUITEM <cText> [ACTION <exp> ] [DISABLED | WHEN <expL>] [CHECKED] [MESSAGE <cMsg>]
Exemplo completo
C-like:
#include 'menu.ch'
STATIC FUNCTION MENUMAIN()
local lEmitente
lEmitente:=.F.
MENU
MENUITEM '&Cadastros'
MENU
MENUITEM '&Clientes' ACTION ALERT(oSender:caption) MESSAGE 'Cadastro de Clientes'
MENUITEM '&Estoque'
MENU
MENUITEM '&Produtos' ACTION ALERT('Produtos') MESSAGE 'Cadastro de Produtos'
MENUITEM '&Setor' ACTION ALERT('Setor') MESSAGE 'Cadastro de Setor'
MENUITEM '&Seção' ACTION ALERT('Seção') MESSAGE 'Cadastro de Seção'
ENDMENU
MENUITEM '&Fornecedores' ACTION ALERT('Fornecedores') DISABLED MESSAGE 'Cadastro de Fornecedores'
MENUITEM '&Usuários' ACTION ALERT('Usuários') MESSAGE 'Cadastro de Usuários do sistema'
SEPARATOR
MENUITEM '&Emitente' ACTION ALERT('Emitente') WHEN lEmitente MESSAGE 'Cadastro do Emitente'
ENDMENU
MENUITEM '&Financeiro'
MENU
MENUITEM '&Contas a receber'
MENU
MENUITEM '&Lançamentos' CHECKED ACTION ALERT(oSender:checked) MESSAGE 'Lançar contas a receber'
MENUITEM '&Baixa' MESSAGE 'Efetuar a baixa de um lançamento a receber'
ENDMENU
MENUITEM '&Contas a pagar'
MENU
MENUITEM '&Lançamentos' MESSAGE 'Lançar contas a pagar'
MENUITEM '&Baixa' MESSAGE 'Efetuar a baixa de um lançamento a pagar'
ENDMENU
ENDMENU
MENUITEM '&Sair' ACTION HU_MenuQuit() MESSAGE 'Sair do sistema'
ENDMENU
HU_SetMenu() // ::oMenu:SetMenu()
RETURN NIL
Menu gráfico Xailer
- www.idlagam.com > Serviços & Orçamentos