USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Mover imagem
Militão
BELO HORIZONTE
MG - BRASIL
Postada em 06/07/2006 12:52 hs            
Boa tarde galera..
tem como eu inserir um objeto num formulario e movimenta-lo?
tipo, estou desenvolvendo um sistema de movimentação de jogadores e queria inseri-los no campo e montar uma tatica.
mas não sei como inserir esse objeto. tentei usar o shape como o objeto, mas nao sei como faz para movimentar em modo de execussão..
Valeu galera..
 
     
Carlos
não registrado
Postada em 06/07/2006 14:00 hs   
se vc quizer movimentar clicando e arrastando, ae vai:

Dim move As Boolean
Dim Xini As Long
Dim Yini As Long

Private Sub Form_Load()
move = False
End

Private Sub Shape1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
move = True
Xini = X - Shape1.Left
Yini = Y - Shape1.Top
End
' a variável move sera utilizada p/ definirmos se o shape vai se mover ou n quando movimentarmos o mouse.
' no exemplo eu estou usando shape, mas vc pode usar em qqr objeto.

Private Sub Shape1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Shape1.Left = X - Xini
Shape1.Top = Y - Yini
End
' movimenta o shape enquanto vc arrasta o mouse

Private Sub Shape1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
move = False
End
' para a movimentação do shape



Espero ter ajudado.
     
Militão
BELO HORIZONTE
MG - BRASIL
Postada em 06/07/2006 14:22 hs            
Amigão..
Não deu certo, a figura não tem como mover no modo shape...
tentei o picture ai move, mas fica loucona, não vai para o local desejado e as vezes volta para a origem..
 
     
Carlos
não registrado
Postada em 06/07/2006 14:50 hs   
é... realmente esta com problemas, eu vou arrumar e ja posto aki...
     
Carlos
não registrado
Postada em 06/07/2006 15:08 hs   
eu havia me esquecido q não é possivel adicionar eventos ao objeto Shape, por isso deve-se usa o form, isto funciona p/ shape, se vc quiser usar com image ou outro componente, tera q fazer algumas alterações, eu estou testando aki, se eu conseguir fazer funcionar de maneira desejavel, eu posto aki.

'para SHAPE
Dim Mover As Boolean
Dim XDist As Long
Dim YDist As Long

Private Sub Form_Load()
  Mover = False
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Mover = True
  XDist = X - Shape1.Left
  YDist = Y - Shape1.Top
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Mover Then
    Shape1.Left = X - XDist
    Shape1.Top = Y - YDist
  End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Mover = False
End Sub
     
Carlos
não registrado
Postada em 06/07/2006 15:23 hs   
Como prometi está ae usando image, vc pode usar qqr componente p/ este codigo, porem ele deve estar desabilitado (Enabled=False), exeto se vc usar um componente q não aceite eventos como o shape, mas se não aceitar, compensa mais usar o codigo acima pois é mais simples.


Dim Mover As Boolean
Dim XDist As Long
Dim YDist As Long

Private Sub Form_Load()
  Image1.Enabled = False 'vc pode definir isso nas propriendades ao inves d fazer por linha de comando
  Mover = False
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If X >= Image1.Left And _
     X <= Image1.Left + Image1.Width And _
     Y >= Image1.Top And _
     Y <= Image1.Top + Image1.Height Then
    Mover = True
    XDist = X - Image1.Left
    YDist = Y - Image1.Top
  End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Mover Then
    Image1.Left = X - XDist
    Image1.Top = Y - YDist
  End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Mover = False
End Sub
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página