Os eventos do rato, em VB6, são, muito resumidamente, os seguintes:
MouseMove: quando o rato se "move" sobre o controlo.
MouseDown: accionado mal é pressionado um botão do rato (mal carregas, quer largues quer não)
MouseUp: accionado, depois dum mousedown, quando largas a tecla.
O MouseMove pode ser controlado entre um Down e um Up. Por outras palavras, podes "arrastar" um controlo, quando manipulares bem os três eventos. É MouseDown -> vários MouseMove's -> MouseUp.
A ordem com que são chamados estes eventos é a seguinte:
MouseMove (mal o rato "entra" no controlo) -> MouseDown (mal clicas) -> MouseMove (quando, ainda com o botão do rato clicado, mexes o rato) -> MouseUp (quando largas o rato) -> Click (precede sempre um MouseUp) -> MouseMove (quando continuas, já sem botões carregados, a mover o rato sobre o controlo).
Argumentos:
Tanto o MouseDown como o MouseUp como o MouseMove passam o X e o Y em que se encontra o rato
no controlo. Também passam o evento Shift (que retorna 1 se tiveres a tecla Shift pressionada, 2 com Control e 4 com Alt. Se pressionares em Shift+Control, retorna 1+2, Shift+Alt, retorna 1+4, Control+Alt, 2+4, Shift+Control+Alt, 1+2+4).
O MouseDown e o MouseUp têm também os argumentos Button, que indicam se qual dos botões do rato foi pressionado. vbLeftButton (botão esquerdo), vbRightButton (botão direito), e vbMiddleButton (em ratos onde há botão no meio, ou quando carregas na "rodinha" que certos ratos têm).
O MouseMove também tem o argumento Button, mas eu não percebo para que serve
Acho que já está suficientemente detalhado para fazeres o que quiseres com o rato
edit -
já agora, como brincadeira, faz um novo form, cria nele uma nova CommandButton, e uma nova TextBox. Não toques em mais nada. Posta no form o seguinte código:
Código:
Option Explicit
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Command1.Left = Command1.Width Then
Command1.Left = 3 * Command1.Width
Else
Command1.Left = Command1.Width
End If
End Sub
Private Sub Form_Load()
Command1.Left = Command1.Width
Me.Width = 5 * Command1.Width
Command1.Caption = "Clica-me =P"
Command1.TabStop = False
Text1.Left = Me.Width * 2
Text1.Locked = True
End Sub
É velho, mas ainda mete piada, e para quem está a começar a brincar com isto, até é educativo
Cumprimentos [[[[[[[]]]]]]]
angelofwisdom