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

 

  Dicas

  Visual Basic    (Mouse/Teclado)

Título da Dica:  Mudar a Posição do Mouse via Código (sem Move-lo)
Postada em 14/8/2000 por Webmaster      Clique aqui para enviar email para o autor  webmaster@vbweb.com.br
Esse recurso é muito útil para posicionar o ponteiro sobre botões e outros objetos sem mover o mouse, usando a API SetCursorPos.

'No Declarations:
Private Declare Function SetCursorPos Lib _
        "user32" (ByVal X As Long, ByVal Y _
        As Long) As Long

'P/ colocar o cursor do mouse em qualquer parte
'do vídeo use o comando:
SetCursorPos PosiçãoX, PosiçãoY
'Onde PosiçãoX e PosiçãoY são valores inteiros
'(Integer) e são as coordenadas da posição em
'Pixel da tela p/ onde o mouse irá.

'Por exemplo:
SetCursorPos 200, 250

'Use esta Sub para centralizar o ponteiro do
'mouse sobre um objeto no Form:
Sub Posiciona(Controle As Control)
  Dim SX As Integer, SY As Integer
  SX = Screen.TwipsPerPixelX
  SY = Screen.TwipsPerPixelY
  SetCursorPos Me.Left / SX + Controle.Left / _
               SX + (Controle.Width / SX / 2), _
               Me.Top / SY + Controle.Top / SY + _
               (Controle.Height / SY / 2) + 20
End Sub
Obs: A última linha da Sub é que faz com que o ponteiro do mouse se mova para a nova poisição da tela, conforme o resultado do calculo:
Posição do Form no vídeo + Posição do controle no Form + largura do controle /2
Veja que no final existe uma soma (+20) que foi feita para compensar a barra de título que não é contada no formulário.

'P/ testar, coloque dois CommandButton no Form e,
'em seus respectivos eventos, coloque:
Private Sub Command1_Click()
  Posiciona Command2 'Centraliza o ponteiro no Command2
End Sub

Private Sub Command2_Click()
  Posiciona Command1 'Devolve o ponteiro no Command1
End Sub
 


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