Clipper On Line • Ver Tópico - DIFICIL APRENDIZADO - Aula 02
Página 1 de 1

DIFICIL APRENDIZADO - Aula 02

MensagemEnviado: 03 Nov 2004 01:32
por rochinha
Amiguinhos

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.

Imagem
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.