Clipper On Line • Ver Tópico - Apagar o Main Menu do Form

Apagar o Main Menu do Form

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Apagar o Main Menu do Form

Mensagempor rubens » 25 Abr 2016 12:15

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
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Apagar o Main Menu do Form

Mensagempor Toledo » 25 Abr 2016 15:39

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:

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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Apagar o Main Menu do Form

Mensagempor rubens » 25 Abr 2016 17:55

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.

Entrada Datasac.png


Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Apagar o Main Menu do Form

Mensagempor Claudio Soto » 25 Abr 2016 19:40

En HMG Oficial existe:

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.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Apagar o Main Menu do Form

Mensagempor Toledo » 25 Abr 2016 20:05

Não sabia destas funções.

Claudio Soto escreveu:No se si existe en MiniGUI Extended.

Existe sim, no arquivo i_hmgcompat.ch
#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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Apagar o Main Menu do Form

Mensagempor rubens » 27 Abr 2016 09:32

Bom dia...

Belezinha...
Funcionou do jeito que eu queria...

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
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Apagar o Main Menu do Form

Mensagempor syslink » 02 Mai 2019 18:34

rubens escreveu:RELEASE MAIN MENU OF DATASAC
vou tentar experimenta essa solucao pra ve se eh o q to quereno
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Apagar o Main Menu do Form

Mensagempor syslink » 03 Mai 2019 10:40

essa opcao de release main menu é o q eu quero e deu certo brigadu
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro