Vídeo - Criando Ribbons - parte 3 ( English Version )
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito, através do Paypal.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Chegamos na parte mais empolgante da programação de ribbons que é a de alteramos os controles de forma dinâmica. Podemos ocultar, desabilitar, inserir imagens, trocar nomes e muito mais. Isto é feito através dos atributos get's (obter).
Vejamos a lista abaixo dos atributos gets do controle button (botão):
getDescription
getEnabled
getImage
getKeytip
getLabel
getScreentip
getShowImage
getShowLabel
getSize
getSupertip
getVisible
Cenário 1 - Imagine que um aplicativo seja acessado por diversos usuários e que cada usuário tenha permissão distinta de acesso. O João não pode ter acesso ao formulário de clientes, já o Carlos tem permissão de acesso. Para esta situação podemos programar o botão da ribbon, que abre o formulário de clientes, de modo que se torne visível apenas para o Carlos. Configuramos este botão com o atributo getVisible, chamando uma determinada função. Esta função irá passar para o getVisible o valor true ou false, determinando o estado do botão (visível ou invisível) em função do usuário logado.
Escrita exemplo do botão que abre o formulário de clientes:
Faça o login aqui para ter acesso ao código.
Agora, veja um exemplo bem simples da função fncGetVisible:
Faça o login aqui para ter acesso ao código.
Observe que se o usuário logado for o João, o argumento visible assumirá o valor false e se forem outros usuários, o argumento assumirá o valor true.
Supondo então que o usuário logado seja o João, a função entregará ao atributo getVisible o valor false , tornando o botão invisível.
<button id = "btClientes" label = "Clientes" getVisible = "false" onAction = "fncOnAction" />
Cenário 2 - Suponha que um aplicativo esteja sendo projetado para os idiomas português e inglês, cujo os nomes dos botões da ribbon devam ser carregados em função do idioma selecionado. Neste cenário usaremos o getlabel.
Escrita exemplo do botão com o atributo getLabel:
Faça o login aqui para ter acesso ao código.
A função fncGetLabel :
Faça o login aqui para ter acesso ao código.
Se a língua selecionada for a inglesa, a função passará para o getlabel, o valor "Customers".
<button id = "btClientes" getVisible = "fncGetVisible"
getLabel = "Customers" onAction = "fncOnAction" />
Cenário 3 - É muito comum também carregarmos os botões com nosso próprio banco de imagens. Esta questão será abordada na quarta aula, onde vou ensinar mais de uma forma de carregamento, inclusive a de como carregar imagens PNG.
Quando a ribbon é carregada pela primeira vez é avaliado cada um dos gets empregados e os seus valores são carregados, conforme as funções de cada um dos atributos.
Como se faz para os get's serem revalidados depois da ribbon carregada ?
A ribbon tem dois métodos chamados de Invalidate e InvalidateControl. O Invalidate revalida todos os controles de uma ribbon, enquanto que o método InvalidateControl revalida o controle que você especificar.
Agora, faça de conta que você queira, num determinado evento, revalidar o estado de dois botões (clientes e fornecedores) de uma ribbon carregada. Basta informar o atributo id do controle a ser revalidado.
objRibbon.invalidateControl ("btClientes")
objRibbon.invalidateControl ("btFornecedores")
Para se ter acesso aos métodos Invalidate e InvalidateControl é necessário efetuarmos algumas configurações. A primeira delas é a de referenciarmos a classe "Microsoft Office 12.0 Object Library" que eu demonstro na parte dois, da vídeo-aula.
A segunda configuração é passarmos a ribbon para o cache através de uma variável. Veja o código abaixo que deve ser criado num módulo global:
Faça o login aqui para ter acesso ao código.
Para completar é preciso passar a ribbon para a variável objRibbon , chamando pela função fncRibbon. Isto é feito pela atributo onLoad da tag customUI. Veja o trecho da xml:
Faça o login aqui para ter acesso ao código.
Observe os métodos disponíveis pela variável objRibbon:
O arquivo exemplo desta vídeo-aula está disponível para quem adquirir o
MontaRibbons
Vídeo-aula
Nesta vídeo-aula você terá uma breve apresentação dos atributos get's. Irá acompanhar, em detalhes, como configurar as ribbons para a troca dinâmica de idiomas. Aprenderá também como ocultar/desabilitar os controles da ribbon, em função do usuário logado.
Faça o login aqui para ter acesso ao vídeo.
Introdução: As presentes Vídeos-aulas apresentam uma visão estrutural básica sobre ribbons e pretendem abrir a sua mente para o entendimento do que é possível ser feito com esta fácil programação. |
Links |
Temas abordados |
---|---|
Todas as informações necessárias para você adquirir esta incrível ferramenta. | |
Breve apresentação do MontaRibbons Noção estrutural da xml empregada Como desabilitar toda a faixa superior do Acess Usando imagens da galeria do Office Usando controles internos do Office Personalizando a barra de ferramentas de acesso rápido
Personalizando o Botão Office
Como criar uma ribbon personalizada
|
|
Como montar o controle splitButton
Como montar o controle menu
Diferenças entre os controles splitButton e menu
Exportando as ribbons para os seus aplicativos
Como dar funcionalidade aos botões da ribbon
|
|
Uso de imagens externas (GIF, JPEG, PNG e ICO) | |
Uso de imagens externas (GIF, JPEG, PNG e ICO) armazenadas em tabela local |
8 comentários Avelino Sampaio 15/07/2022 05:41:46 Ruggeri, basta manter pressionado a tecla SHIFT na inicialização do seu aplicativo, para que vc tenha acesso as ribbons do Access. Sucesso! Ruggeri 14/07/2022 23:07:47 Oi Avelino, já possuo o monta ribbons, já exportei o esquema xml pro meu projeto, como ainda existem algumas pequenas alterações que ainda to fazendo, gostaria de saber qual a função que você usa pra recarregar a ribbon. ruggeri.nascimento@hotmail.com.br Sales 05/03/2022 13:15:01 Prezado Avelino, Montei o programa baseado no maestro, tudo certinho. To precisando apenas de uma modificação: no lugar de comandos gets atuar de acordo com o usuário, gostaria de usar o get visible para mostrar uma ribbon ou outra, quando fizer o login, de acordo com o setor que o "colaborador" trabalhar. Agradeço. Sandro Seibt 25/01/2021 19:59:28 Mestre Avelino, Tenho um programa utilizando os recursos do Maestro onde as Ribbon não estão atualizando integralmente e verifiquei que a referência é a Microsoft Officce 16.0 Object Library (a 12.0 não aparece entre as possibilidades). Esta referência (12.0) resolveria o meu problema? Grato. Guilherme 18/01/2021 01:33:52 Avelino, quando eu uso, aparece esse erro: "tipo definido pelo usuário não definido" na linha: 'Public objRibbon as IRibbonUI' Antonio 26/06/2020 13:42:59 Boa tarde !!! Como faço para adquiri o Monta Ribbons No aguardo Marcio Melo - RJ 26/05/2020 15:52:23 Adorei essa vídeo aula, já consegui utilizar quase todos os Gets, faltando bem pouquinhos para serem exprementados, os principais já fizeram a grande diferença. Depois que passamos a dominar a ferramenta em conjunto com o nosso projeto passamos horas se divertindo com as possibilidades, tenho feito vários testes e obtendo novos horizontes. Fiz até um site tipo um help para o meu projeto que já dei como acabado, link http://www.sic.iniciantejoomla.com/ em breve vou adicionar os links das vídeo aulas que coloquei no youtube. Luís Augusto 05/02/2020 07:39:38 Bom dia Avelino, me sinto na obrigação de relatar a minha satisfação em ter adquirido o Monta Ribbons, o controle das Ribbons agregou grande valor ao meu pequeno projeto, dando a ele aparência profissional e confiabilidade pois consigo alterar com facilidade a caracteristica da ribbon, agradeço também ao suporte recebido. |