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
Movimentar os objetos de formulário usando o mouse
Movimentar os objetos de formulário usando o mouse

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. 

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

Open v3

 

Essa técnica é extremamente útil quando precisamos marcar certos pontos sobre uma figura.  Por exemplo, você pode querer marcar os locais das cáries em uma arcada dentária, marcar lesões no corpo de um pessoa ou de um animal,...  Veja na imagem abaixo, aonde foram marcados pontos de lesões sobre a figura de uma cabeça.

Usando Access - Marcar figuras

Observe as setas em vermelho que estão representando o mouse arrastando o círculo vermelho (rubor) para posicioná-lo sobre a figura da cabeça:

Usando Access - Marcar figuras

 

As figuras dos círculos são armazenadas nos controles Label.  Você pode obter as figuras através da fonte WingDings.  Abra o Word, escolha a fonte WingDings 2, comece a digitar no teclado e veja as figuras associadas. A figura aqui escolhida está associada a letra "t"

Usando Access - Fonte WingDings 2

 

Para movimentar um controle do formulário é relativamente simples.  Para isso usamos os eventos ao apertar mouse, ao mover mouse e ao liberar mouse. Veja:

Option Compare Database
Dim MouseX As Long, MouseY As Long
 
'evento Ao apertar mouse
Private Sub Rot8_MouseDown(Button As Integer, Shift As Integer,X As Single, Y As Single)
   If (Button = 1) Then MouseX = X: MouseY = Y
End Sub
'evento Ao mover mouse
Private Sub rot8_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If (Button = 1) Then fncMouseMove Me!rot8, X, Y
End Sub
 
'evento Ao liberar mouse
Private Sub rot8_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
   fncMouseUp Me!rot8, 10
End Sub

No evento Ao liberar mouse é usada a função fncMouseUp() e no evento Ao mover mouse é usada a função fncMouseMove().

Public Function fncMouseUp(ctl As Control, j%)
   'gravando as coordenadas atuais do rótulo na caixa de texto
   ctl.Value = Me("rot" & j).Left & ";" & Me("rot" & j).Top
End Function

Private Function fncMouseMove(ctl As Control, X As Single, Y As Single)
   'passando as coordenadas do mouse para o rótulo que está sendo movimentado
   ctl.Left = ctl.Left + X - MouseX
   ctl.Top = ctl.Top + Y - MouseY
End Function

Nota: Ao dar um  clique duplo sobre o círculo, ele retornará à posição inicial.  A função utilizada no clique duplo  é esta:

Public Function fncDuploClique(ctl As Control, p)
   ctl.Left = p: ctl.Top = p0
End Function

Baixe o arquivo e faça o teste:

Clique aqui e baixe o arquivo exemplo. 

Abra o formulário frmTeste e utilize o mouse para arrastar os círculos sobre a figura.   Após ter feito isso, vá para o próximo paciente e realize novas marcações.

Dê dois cliques rápidos sobre o círculo e ele retornará à posição inicial.

Bom estudo!


 

 


7 comentário(s)

MARCIO MELO - RJ   30/07/2023 12:36:58

Incrível!
O access junto a sua imaginação não tem limites, solução perfeita para atender diversas necessidades... Eu via isso como uma limitação, agora como inovação e a mente mais aberta a possibilidades...

Wagner Bonelli Ismael   29/07/2023 16:38:39

Muito legal!
Um amigo que tem uma um pequeno laboratório de prótese dentária me pediu para fazer um sistema de controle de ordem de serviço. Estava exatamente à procura de algo assim para ficar mais "visual" o sistema, utilizando o Access. Vou estudar um pouco mais e creio que dá para fazer algo bem bacana com estes recursos.
Obrigado mais uma vez por compartilhar seus exemplos e sabedoria.

Idiframk Silva   07/02/2022 15:16:30

Ótima didática... muito interessante este recuso....

flavio lima   07/02/2022 06:53:32

parabens...

Leonardo   07/02/2022 05:16:19

Parabéns, muito bom esse exemplo.

David Vieira Rocha   18/05/2021 05:30:20

excelente exemplo...
gostaria de saber como aumentar a quantidade de itens pra cada figura. preciso mapear os casos de dengue no meu município por quadras nos bairros. mas tendo mais de cem casos por semana, como fazer?

JuanLu   13/02/2021 09:46:40

No puedo descargar el ejemplo, que necesito?, no me permite logearme.


Envie seu comentário: