bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Vídeo de como criar ribbons, usando o aplicativo MontaRibbons - atributos GET

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é 2x no Cartão de Crédito, através do Paypal. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

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:

<button
id = "btClientes"
label = "Clientes"
getVisible = "fncGetVisible"
onAction = "fncOnAction"
/>

Agora, veja um exemplo bem simples da função fncGetVisible:

Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)

Select Case control.id 
   Case "btClientes"
      'Trata o botão clientes
      if usuário = "joão" then
         visible = false
      else
         visible = true
      end if
End Select

End Sub

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:

<button
id = "btClientes"
getVisible = "fncGetVisible"
getLabel = "fncGetLabel"
onAction = "fncOnAction"
/>

A função fncGetLabel :

Public Sub fncGetLabel(control As IRibbonControl, ByRef label)

Select Case control.id 
   Case "btClientes"
      'Trata o botão clientes
      if idioma = "português" then
         label = "Clientes"
      elseif idioma = "Inglês" then
         label = "Customers"
      end if
End Select

End Sub

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:

Option Compare Database
Public objRibbon As IRibbonUI

Public Sub fncRibbon(ribbon As IRibbonUI)
On Error Resume Next
'----------------------------------------------
'objRibbon servirá para realizarmos alterações
'na ribbon em tempo de execução
'----------------------------------------------
Set objRibbon = ribbon
End Sub

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:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
onLoad="fncRibbon">
...
...
</customUI>

Observe os métodos disponíveis pela variável objRibbon:

Usando Access

 

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

MontaRibbons

Todas as informações necessárias para você adquirir esta incrível ferramenta.

Vídeo-aula 1


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
 

Vídeo-aula 2


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
 

Vídeo-aula 4

Uso de imagens externas (GIF, JPEG, PNG e ICO)

Vídeo-aula 5

Uso de imagens externas (GIF, JPEG, PNG e ICO) armazenadas em tabela local

 

 


 

 


8 comentários

Sandro Seibt   25/01/2020 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.

Sales   05/03/2017 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.

Avelino Sampaio   15/07/2015 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/2015 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

Guilherme   18/01/2014 01:33:52

Avelino, quando eu uso, aparece esse erro:
"tipo definido pelo usuário não definido" na linha:
'Public objRibbon as IRibbonUI'

Marcio Melo - RJ   26/05/2011 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.

Antonio    26/06/2010 13:42:59

Boa tarde !!!

Como faço para adquiri o Monta Ribbons

No aguardo

Luís Augusto   05/02/2010 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.


Envie seu comentário: