Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

Definição dinâmica de menus e submenus

A definição dinâmica de menus é de grande utilidade, por exemplo, quando os menus, submenus e itens estão previamente cadastrados em bases de dados As funções numéricas, apresentadas a seguir, permitem definir, de maneira dinâmica, os itens de menus e submenus.

Função MakeMenu

A função numérica MakeMenu serve para definir um menu principal, atribuindo-lhe um nome. Esta função retorna um handle numérico (-1, em caso de erro) a ser utilizado na definição dos itens associados ao menu sendo definido.

Sintaxe

hm1=MakeMenu(<nome-menu>)

Onde:

<nome-menu>

É uma expressão cadeia que informa o nome do menu que está sendo definido.

Função MakePopup

A função numérica MakePopup serve para definir um menu suspenso (ou seja, submenu ou popup) abaixo de um menu ou item de menu, indicados estes pelo seu respectivo "handle". Esta função retorna um handle numérico (-1 em caso de erro) a ser utilizado na definição dos itens de menu associados ao Popup definido pela função MakeMenu.

Sintaxe

hpop1=MakePopup (<hm1>, <nome-item>, <nome-prompt>, <msg>, <nome-popup>)

Onde:

<hm1>

É uma expressão cadeia que informa o "handle" do menu principal ao qual pertence este menu popup.

<nome-item>

É uma expressão cadeia que informa o nome do item de um menu principal ou secundário.

<nome-prompt>

É uma expressão cadeia que especifica o "prompt", ou seja o "caption" do Popup.

<msg>

É uma expressão cadeia que especifica a mensagem associada ao Popup.

<nome-popup>

É uma expressão cadeia que especifica o nome do Popup.

Funções MakePad e MakeBar

As funções numéricas MakePad e MakeBar servem para definir itens de menu principal (Pad) ou itens de menu suspenso (Bar).

Sintaxe

h1=[MakePad | MakeBar]  ([<hm1>|<hpop1], <nome-item>, <nome-prompt>, <msg>, <nome-proc>)

Onde:

<hm1> | <hpop1>

É uma expressão cadeia que informa o "handle" do menu principal (<Mhm1>) ou menu suspenso (<hpop1>) aos quais pertence este item de menu.

<nome-item>

É uma expressão cadeia que informa o nome do item de um menu principal ou secundário.

<nome-prompt>

É uma expressão cadeia que informa o "prompt" do Popup.

<msg>

É uma expressão cadeia que informa a mensagem associada ao Popup.

<nome-proc>

Especifica o nome da Procedure associada ao item de menu que está sendo definido. A Procedure especificada em <nome-proc> deve ser declarada, previamente, através do comando EXTERNAL. Veja o exemplo abaixo.

Exemplo de definição dinâmica de menus

Veja a seguir um exemplo que define dinamicamente um menu e vários submenus.

$nolib

prog

external proc01

decl mh1[02]=space(16)

mh1[01]="Informacoes"

mh1[02]="Emergencia"

hm1=MakeMenu("hospub")

  hinf1 = MakePad (hm1,"inf1",mh1[01],"",proc01)

  hinf2 = MakePopup (hm1,"inf2",mh1[02],"","")

    hbar1 = MakeBar (hinf2,"1","Chefia","",proc01)

    hbar3 = MakePopup (hinf2,"1","Atendente","","")

      hbar31 = MakePopup (hbar3,"1","Mov. Pacientes","","")

        hbar311 = MakeBar (hbar31,"1","Procedimentos","",proc01)

      hbar32 = MakePopup (hbar3,"2","Alteracoes","","")

        hbar321 = MakeBar (hbar32,"1","Dados Pessoais","",proc01)

        hbar322 = MakeBar (hbar32,"2","Entrada","",proc01)

        hbar323 = MakeBar (hbar32,"3","Saida","",proc01)

        hbar324 = MakeBar (hbar32,"4","Plano de Saude","",proc01)

        hbar325 = MakeBar (hbar32,"5","Acidentes de Trabalho","",proc01)

      hbar33 = MakeBar (hbar3,"3","Cancela Saida","",proc01)

      hbar34 = MakeBar (hbar3,"4","Consultas","",proc01)

      hbar35 = MakeBar (hbar3,"5","Emite Documentos","",proc01)

Activate Menu hospub

end

proc proc01

? "nada ..."

return

O programa acima produz a seguinte tela:

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!