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

Adquira a assinatura vitalícia do site e passe a ter acesso aos arquivos exemplos, vídeos, revistas, livros e ao kit de montagem de ribbons. Você terá suporte por e-mail, caso necessite tirar dúvidas pontuais. Clique AQUI e veja como obter um dos nossos planos. Clique AQUI e faça uma visita a seção Downloads do site e verifique as centenas de arquivos que estará à sua disposição. Clique AQUI e faça uma visita a seção Vídeos do site e veja a lista que estará disponível ao se tornar o nosso assinante vitalício. Clique AQUI e saiba mais detalhes sobre o kit de montagem de ribbons (deixe seus aplicativos com aspecto profissional).



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)

David Vieira Rocha   18/05/2020 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/2020 09:46:40

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

MARCIO MELO - RJ   30/07/2018 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/2018 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/2017 15:16:30

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

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

parabens...

Leonardo   07/02/2017 05:16:19

Parabéns, muito bom esse exemplo.


Envie seu comentário: