# Adicionar clique direito do mouse nos botões laterais do sistema

#### Esse guia tem o intuito de mostrar os processos para a adição de um PopUpMenu de cadastro e manutenção nos botões laterais.

[![exemplo sem menu.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/scaled-1680-/uTcexemplo-sem-menu.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/uTcexemplo-sem-menu.png)[ ](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/Cn4resultado-final-melhoria.png)[![resultado final melhoria.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/scaled-1680-/X7Dresultado-final-melhoria.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/X7Dresultado-final-melhoria.png)

#### **Alterações feitas na unit FormPri:**

Na procedure AdicionarBotao, foi adicionado um PopupMenu que recebe 'nil' ao ser criado, para que não quebre os botões que não receberem o PopUp. Segue o exemplo do que foi feito:

**[![assinatura procedure AdicionarBotao.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/scaled-1680-/assinatura-procedure-adicionarbotao.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/assinatura-procedure-adicionarbotao.png)**

Na procedure AdicionarBotao, a linha que cria o botão nas laterais recebe a propriedade de um PopupMenu e foi adicionado na chamada da procedure, o parâmetro do PopUpMenu.

**[![procedue AdicionarBotao.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/scaled-1680-/procedue-adicionarbotao.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/procedue-adicionarbotao.png)**

**Os passos até agora, não precisam ser refeitos, pois a FormPri é uma tela pai, logo, as outras telas herdam dela. Foi apresentado apenas para informação do que foi feito.**

#### **Na unit Princip:**

Na procedure CriarBotoes, logo abaixo da declaração dos ícones usados nas laterais, é necessário criar uma função que vai receber o MenuItem do cadastro e da manutenção e vai retornar um PopUpMenu.

Nessa função é feita a criação dinâmica tanto do PopUp como dos itens dele para que não sejam valores fixos e sim, de acordo com o clique do mouse.

A seguir está um exemplo de como a função pode ser feita:

**[![função CriarPopupMenu.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/scaled-1680-/funcao-criarpopupmenu.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/funcao-criarpopupmenu.png)**

Ainda no Princip, devemos passar como parâmetro da procedure AdiconarBotao, a nossa função criada no passo anterior e dentro dos parâmetros da nossa função, passar o MenuItem do cadastro e da manutenção do botão específico.

A seguir, está uma demonstração de como deve ser adicionado os parâmetros na função AdicionarBotao, para que os botões, assim que criados, possam chamar o PopUp do cadastro e da manutenção dele mesmo.

[![chamada da função CriarPopupMenu.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/scaled-1680-/chamada-da-funcao-criarpopupmenu.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-09/chamada-da-funcao-criarpopupmenu.png)

##### <span style="color: #000000;">**Lembrando que essa implementação não vai quebrar as outras telas que não utilizarem a melhoria pois foi feita de maneira dinâmica, então não implementa-la é uma opção, porém por ser uma melhoria interna, é interessante** <span style="font-size: 19.6px;">**utiliza-la**</span>**.**</span>