Gambas-it

Gambas3 => Programmazione => Topic aperto da: Raffa50 - 07 Luglio 2012, 17:26:16

Titolo: [RISOLTO] muovere controlli col mouse
Inserito da: Raffa50 - 07 Luglio 2012, 17:26:16
salve vorrei sapere come posso fare per spostare controlli sul form trascinandoli...
ho provato ma il controllo "salta" sul form

Codice: [Seleziona]
Public Sub frmbtns_MouseMove()
    Last.X = Mouse.ScreenX - hx
    Last.Y = Mouse.ScreenY - hy
End

Public Sub frmbtns_MouseDown()
  hx = Last.ScreenX
  hy = Last.ScreenY
End
Titolo: Re: muovere controlli col mouse
Inserito da: md9327 - 07 Luglio 2012, 21:01:20
Semplicemente ti sei dimenticato di aggiornare le due variabili che contengono la coordinata di partenza.

Così com'è scritto, ad ogni mossa, il pulsante parte dalla posizione orginale (la prima in assoluto) e la nuova posizione.

Se usi gambas3, l'oggetto Mouse ha le proprietà Delta, magari puoi usare quelle...
Titolo: Re: muovere controlli col mouse
Inserito da: vuott - 11 Luglio 2012, 01:48:59
Prova semplicemente così:   :-[

Codice: gambas [Seleziona]

 Public Sub Button1_MouseMove()
 
     Last.X = (Mouse.ScreenX - Me.ScreenX) - (Last.W / 2)
     Last.Y = (Mouse.ScreenY - Me.ScreenY) - (Last.H / 2)

 End

  
      :-X
Titolo: Re: muovere controlli col mouse
Inserito da: Raffa50 - 16 Luglio 2012, 16:34:13
grizie  :ok:
Titolo: Re: muovere controlli col mouse
Inserito da: vuott - 16 Luglio 2012, 16:41:50
Quelle righe dovrebbero consentirti di muovere senza problemi gli oggetti sul form, qualunque sia la sua dimensione e in qualunque parte sia dello schermo.
Se vuoi aggiustare a tuo piacimento il puntatore del mouse all'interno dell'oggetto che muovi, devi modificare - usando anche i decimali - il valore numerico in: (Last.W / 2)  ed in (Last.H / 2) .