Olá a todos. Tenho uma dúvida em relação ao funcionamento dos menus. Quando passamos o cursor do mouse sobre os itens dos menus, as cores se alteram em um possível evento ‘onMouseover’ e retorna a cor anterior quando o cursor do mouse sai, mesmo após ter selecionado esse item. É possível manter um cor diferente para um item selecionado depois que o cursor saia desse item? Alguns dirão “basta usar abas”, mas não gostaria de usá-las; preferia que o próprio menu se comportasse como uma aba selecionada. É possível?
Outra questão é: depois de iniciar a edição de um form, quando clicamos no menu, como pedir a confirmação para trocar o form caso o usuário ainda não tenha salvado o registro?
Obrigado
Comprei a licença mais limitada para estudar a ferramenta, e lamento que a documentação não seja tão farta.
Bom, respondendo à minha própria pergunta, imaginei uma gambiarra, já que acredito que deveria existir uma propriedade ‘selectedItem’ no menu. Imaginei assumir que o ítem selecionado é o já implementado “desabilitado”. No CSS existe uma classe chamada .scdisabledmain que poderia ser modificado na inicialização do form (ou aplicação, usando a nomeclatura do SC) para se parecer com um item selecionado. Dessa forma, ao selecionar o item, bastaria desabilitá-lo com o sc_menu_disable() e reabilitá-lo com o sc_reset_menu_disable(). Entretanto, na inexistência de um evento ‘on Menu Click’, onde devo colocar a macro para ‘selecionar’ (na verdade desabilitar) o menu?
Quanto à minha segunda pergunta, acredito que deveria existir um evento ‘on Form Dirty’ para que eu atribua um flag armazenado como atributo. Dessa forma, se o flag indicasse a modificação de qualquer campo, antes de mudar o form, uma mensagem indicaria a necessidade de salvar os dados do form sem precisar usar o evento ‘onChange’ em todos os campos.
É estranho falar em acender o item do menu depois de clicado, pois geralmente a sub lista se esconde com o mouse out, a não ser que tenha um menu horizontal com pouquíssimos itens sem sub itens.
E com as abas a questão da troca do formulário se resolveria pois abriria em nova aba.
As vezes as coisas não são como gostaríamos, a proposta da ferramenta é esta, realizar funções que não fazem parte da proposta da ferramenta vai requerer programação avançada e personalizada.
Sugiro ler esse tópico:
http://www.scriptcase.com.br/forum/index.php/topic,13927.msg72803.html#msg72803
Estudar as macros do SC e aprender como funcionam os eventos das aplicações.