segunda-feira, 4 de maio de 2009

Acionar o menu via código


Contador de acessoVisitas


No Palm, para acessar o menu é necessário clicar na barra de título, porém, pode ser que seu form não tenha barra de título, você não quis, sendo assim ele ocupa toda a área da tela.

Então, vou postar aqui uma forma de chamar o menu atravez de um botão.

O menu tem que estar criado normalmente no Resources e associado ao Form.

Para chamar o Menu, nós iremos usar as rotinas abaixo, ambas se encontram no arquivo PalmOS/Menu_.pas.

MenuInit - sua declaração é MenuInit(resourceId: UInt16): MenuBarPtr; external sysTrapMenuInit; Ela retorna o ponteriro para o menu referente ao resourceId passado como parâmetro.

MenuSetActiveMenu - sua declaração é function MenuSetActiveMenu(menuP: MenuBarPtr): MenuBarPtr; external sysTrapMenuSetActiveMenu; Ela ativa o Menu passado como ponteiro no parâmetro.

MenuGetActiveMenu - declaração function MenuGetActiveMenu: MenuBarPtr; external sysTrapMenuGetActiveMenu; Retorna um ponteiro referente ao menu ativo.

MenuDrawMenu - declaração procedure MenuDrawMenu(menuP: MenuBarPtr); external sysTrapMenuDrawMenu; Desenha na tela o menu passado como parâmetro em forma de ponteiro.

Entã, para chamar o menu basta incluir o código abaixo.


MenuSetActiveMenu(MenuInit(Menu1));
MenuDrawMenu(MenuGetActiveMenu);


uma outra forma seria guardar o ponterio do menu que foi ativado, assim não precisaremos usar a função MenuGetActiveMenu, pois já temos o ponteiro para o menu.


var
   MenuP: MenuBarPtr;
begin
   MenuP := MenuInit(Menu1);
   MenuSetActiveMenu(MenuP);
   MenuDrawMenu(MenuP);
end;

Nenhum comentário:

Postar um comentário

Advogados
Visitas