Página 1 de 1

Desabilitar MENU

Enviado: 28 Mai 2014 16:42
por marcos.gurupi
Caros, preciso em um determinado momento desabilitar o menu do sistema. Ou seja, o sistema jah estah aberto e em um determinado momento eu preciso desabilitar o menu. Sei que para desabilitar o menu eh assim:

MENUITEM "&Sair" ACTION {||dbCloseAll(), EndWindow()} Disabled


Mas isso quando eu abro o sistema, se eu tivesse a necessidade de habilita-lo depois ou mesmo desabilita-lo mais tarde como ficaria ?

Desabilitar MENU

Enviado: 28 Mai 2014 16:52
por janio
Bom, não sei quase nada de hwgui, mas faço da maneira abaixo e funciona:

nMenuHandle := GetMenuHandle(oDlgPrincipal:handle)

EnableMenuItem(nMenuHandle,3000, .F., .T. )

Não esqueça de atribuir uma ID ao item do menu ao criá-lo

MENU TITLE "&Nota Fiscal-e"
MENUITEM "Lança Nota Fiscal-e" ID 3000 ACTION S19LNFE()
MENUITEM "Envia NF-e a Sefaz" ID 3001 ACTION S19LENF()
MENUITEM "Reimprime DANFE" ID 3002 ACTION S19LRDF()
ENDMENU

Desabilitar MENU

Enviado: 28 Mai 2014 21:00
por marcos.gurupi
Caro colega Janio, obrigado por responder. Acontece que aqui aparece uma estranha tela (em anexo), quando coloco a sua sugestao.
Logo apos a execucao do comando aparece este msginfo. Estranho!
Logo apos a execucao do comando aparece este msginfo. Estranho!
tela.JPG (4.55 KiB) Exibido 842 vezes

Desabilitar MENU

Enviado: 30 Mai 2014 09:31
por janio
Acredito que primeira vc deva criar o seu menu normalmente:

Código: Selecionar todos

MENU TITLE "&Nota Fiscal-e"
MENUITEM "Lança Nota Fiscal-e" ID 3000 ACTION S19LNFE()
MENUITEM "Envia NF-e a Sefaz" ID 3001 ACTION S19LENF()
MENUITEM "Reimprime DANFE" ID 3002 ACTION S19LRDF()
ENDMENU
Depois criar uma função para desabilitar o menu e chamá-la quando quiser desabilitar:

Código: Selecionar todos

nMenuHandle := GetMenuHandle(oDlgPrincipal:handle)

EnableMenuItem(nMenuHandle,3000, .F., .T. )
Preste atenção no nome do Dialog em q esta o seu menu: GetMenuHandle(oDlgPrincipal:handle)

Desabilitar MENU

Enviado: 30 Mai 2014 13:12
por marcos.gurupi
Caro, acontece que quando chamo a funcao aparece a tela que estah anexo (na outra msg). Entaum eh exatamente o q estou fazendo. Criando o menu e quando oportuno eu chamo a funcao para desabilita-lo, mas ao chamar a funcao simplesmente aparece o msginfo()

Desabilitar MENU

Enviado: 30 Mai 2014 13:57
por janio
Poste o seu codigo!

Está atribuindo uma ID ao item do Menu??

Perceba que eu crio o menu e depoi desabilito o item "MENUITEM "Lança Nota Fiscal-e" ID 3000 ACTION S19LNFE()", ID 3000!

PS: Comigo funciona direitinho! Uso para desabilitar item do menu qndo o meu PAF-ECf encontra a Impressora fiscal!