No nosso primeiro contato criamos a nossa janela principal que dará suporte para todo o restante do aplicativo.
Nesta aula vamos acrescentar um menu a esta janela e conhecer alguns parâmetros básicos para este tópico.
Figura 02
Digite o código abaixo em um arquivo e de-lhe o nome de AULA02.PRG e compiLe utilizando o BUILD.BAT:
C:\>BUILD AULA02
#include "fivewin.ch"
function main()
local oWnd
DEFINE WINDOW oWnd TITLE "Janela principal" ;
FROM 5, 5 TO 24, 64 ;
MENU Menu()
ACTIVATE WINDOW oWnd
return nil
FUNCTION Menu()
local oMenu
MENU oMenu
MENUITEM oMenu1 PROMPT "Opcao &1"
MENU
MENUITEM "&Clientes"
MENU
MENUITEM "Incluir" ACTION Acao()
MENUITEM "Excluir" ACTION Acao()
SEPARATOR
MENUITEM "Consultar" ACTION Acao()
ENDMENU
MENUITEM "&Fornecedores"
MENU
MENUITEM "Incluir" ACTION Acao()
MENUITEM "Excluir" ACTION Acao()
SEPARATOR
MENUITEM "Consultar" ACTION Acao()
ENDMENU
ENDMENU
MENUITEM oMenu2 PROMPT "Opcao &2" DISABLED
MENU
MENUITEM "Item 1" DISABLED ACTION Acao()
MENUITEM "Item 2" DISABLED ACTION Acao()
ENDMENU
ENDMENU
return oMenu
FUNCTION Acao()
MsgStop( "Coloque uma chamada a um Dialog" )
return .t.
O passo inicial é acrescentar ao comando de criação de janela que o mesmo deverá suportar um menu:
...
DEFINE WINDOW oWnd TITLE "Janela principal" ;
FROM 5, 5 TO 24, 64 ;
MENU Menu()
...
Devemos lembrar que assim como as estruturas de IF..ENDIF, CASE..ENDCASE ou DO..ENDDO existem a estrutura MENU..ENDMENU deve existir sem erros para que o nosso menu possa então aparecer na janela de nosso aplicativo.
...
MENU
MENU
...
ENDMENU
ENDMENU
...
O comando MENUITEM é o responsável pela apresentação da opção no menu e ativação de uma ação através do parâmetro ACTION.
Usamos o SEPARATOR para dividir melhor um conjunto de opções
Até a próxima.