Página 1 de 1
Apagar o Main Menu do Form
Enviado: 25 Abr 2016 12:15
por rubens
Bom dia
Tem algum jeito de apagar o Main Menu de um Form.
Com outro controle vi que basta um
Form.Nome_Controle.Release
Mas qual seria o Nome_Controle de um Main Menu ?
Obrigado
Rubens
Apagar o Main Menu do Form
Enviado: 25 Abr 2016 15:39
por Toledo
Rubens, não existe um função para excluir o menu inteiro, então a saída seria refazer o menu, mas sem nenhuma opção. Por exemplo, você poderia criar uma função, tipo ApagarMenu() com o seguinte comando:
Código: Selecionar todos
Proc ApagarMenu()
DEFINE MAIN MENU OF Nome_Form
END MENU
Return
No código acima, troque
Nome_Form pelo nome do seu Form.
Agora um detalhe, onde/quando você vai chamar esta função? Atenção: tem que ser depois do Form montado (END WINDOW) ou Ativo (ACTIVATE WINDOW).
Abraços,
Apagar o Main Menu do Form
Enviado: 25 Abr 2016 17:55
por rubens
Caro Toledo...
Consegui montar o menu dinâmico do jeito que eu queria, só que no sistema eu permito mudar o usuário dentro do programa sem ter que sair. Como o menu é dinâmico ele precisa ser "reconstruído" conforme o nível do usuário.
Se eu tentar definir um main menu que já existe não vai dar erro?
Vou tentar fazer aqui para ver...
Eu só monto o menu depois que o usuário digita a senha. Daí pego o nível dele e monto o menu. Mas preciso permitir mudar o usuário dentro do sistema. Dá seria só definir o menu novamente. Mas como ele já existe preciso apagá-lo.
Rubens
Apagar o Main Menu do Form
Enviado: 25 Abr 2016 19:40
por Claudio Soto
En HMG Oficial existe:
Código: Selecionar todos
RELEASE MAIN MENU OF <parent>
RELEASE MAINMENU OF <parent>
RELEASE CONTEXT MENU OF <parent>
RELEASE CONTEXTMENU OF <parent>
RELEASE NOTIFY MENU OF <parent>
RELEASE NOTIFYMENU OF <parent>
RELEASE DROPDOWN MENU BUTTON <button> OF <parent>
RELEASE DROPDOWNMENU OWNERBUTTON <button> OF <parent>
No se si existe en MiniGUI Extended.
Apagar o Main Menu do Form
Enviado: 25 Abr 2016 20:05
por Toledo
Não sabia destas funções.
Claudio Soto escreveu:No se si existe en MiniGUI Extended.
Existe sim, no arquivo i_hmgcompat.ch
Código: Selecionar todos
#xcommand RELEASE MAIN MENU OF <form> => DEFINE MAIN MENU OF <form> ; END MENU ; DestroyMenu( GetMenu( GetFormHandle( <"form"> ) ) )
#xcommand RELEASE CONTEXT MENU OF <form> => DEFINE CONTEXT MENU OF <form> ; END MENU ; DestroyMenu( _HMG_aFormContextMenuHandle \[ GetFormIndex ( <"form"> ) ] )
#xcommand RELEASE NOTIFY MENU OF <form> => DEFINE NOTIFY MENU OF <form> ; END MENU ; DestroyMenu( _HMG_aFormNotifyMenuHandle \[ GetFormIndex ( <"form"> ) ] )
#xcommand RELEASE DROPDOWN MENU BUTTON <button> OF <form> => DEFINE DROPDOWN MENU BUTTON <button> OF <form> ; END MENU
#xcommand RELEASE DROPDOWNMENU OWNERBUTTON <button> OF <form> => DEFINE DROPDOWN MENU BUTTON <button> OF <form> ; END MENU
Abraços,
Apagar o Main Menu do Form
Enviado: 27 Abr 2016 09:32
por rubens
Bom dia...
Belezinha...
Funcionou do jeito que eu queria...
Código: Selecionar todos
FUNCTION APAGAMENU()
RELEASE MAIN MENU OF DATASAC
SetProperty('DATASAC','BTN_002','ENABLED',.F.)
SetProperty('DATASAC','BTN_004','ENABLED',.F.)
NIVEL='1'
MONTAMENU()
RETURN NIL
SE alguém precisa de usar o comando não esquecer de inserir o cabeçalho
#include "i_hmgcompat.ch"
Obrigado
Rubens
Apagar o Main Menu do Form
Enviado: 02 Mai 2019 18:34
por syslink
rubens escreveu:RELEASE MAIN MENU OF DATASAC
vou tentar experimenta essa solucao pra ve se eh o q to quereno
Apagar o Main Menu do Form
Enviado: 03 Mai 2019 10:40
por syslink
essa opcao de release main menu é o q eu quero e deu certo brigadu