Autore Topic: [RISOLTO] muovere controlli col mouse  (Letto 585 volte)

Offline Raffa50

  • Grande Gambero
  • ***
  • Post: 101
    • Mostra profilo
[RISOLTO] muovere controlli col mouse
« il: 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
« Ultima modifica: 23 Luglio 2012, 10:44:18 da Raffa50 »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: muovere controlli col mouse
« Risposta #1 il: 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...

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: muovere controlli col mouse
« Risposta #2 il: 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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Raffa50

  • Grande Gambero
  • ***
  • Post: 101
    • Mostra profilo
Re: muovere controlli col mouse
« Risposta #3 il: 16 Luglio 2012, 16:34:13 »
grizie  :ok:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: muovere controlli col mouse
« Risposta #4 il: 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) .
« Ultima modifica: 16 Luglio 2012, 16:45:06 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »