ho una domanda da porre, mi stò chiedendo di come poter spostare un bottone o un frame sul form, praticamente col click del mouse prendo l'oggetto per poi spostarlo in punto qualsiasi del form.
ho una domanda da porre, mi stò chiedendo di come poter spostare un bottone o un frame sul form, praticamente col click del mouse prendo l'oggetto per poi spostarlo in punto qualsiasi del form.
ma la cosa deve avvenire in run-time?o nell'IDE??
credo che la api ReleaseCapture venga usata proprio per questo scopo, ora non ricordo come usarla
la cosa deve avvenire a form lanciatoOriginariamente inviato da ranza!!!123
ma la cosa deve avvenire in run-time?o nell'IDE??
questo è il codice che uso in una mia applicazionedove barra è una picturebox...prova a riadattare il codice su un frame,dovrebbe essere la stessa cosacodice:Dim StartX As Integer Dim StartY As Integer Dim Moving As Boolean Dim pausa As Boolean Private Sub barra_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) If Button = 1 Then StartX = x StartY = Y Moving = True End If End Sub Private Sub barra_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) If Not Moving Then Exit Sub Me.Move Me.Left + (x - StartX), Me.Top + (Y - StartY) End Sub Private Sub barra_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single) Moving = False End Sub
sempre se ho capito il problema![]()
bo..
ripeto allora su di un form ho un frame dove al suo interno ho dei bottoni, bene adesso, per un motivo grafico voglio spostare il frame ad esempio al centro del form, diciamo ke clicco sul frame e lo voglio trascinare sul centro del form. questo è quello che mi interessa fare. Ho provato quello che mi hai dato, nessun risultato.
il codice che ti ha fornito Ranza, funziona, e ti permette di fare esattamente quello che chiedi.
questo metodo lo postai io, tempo fa, quando qualcuno fece la stessa tua richiesta...
ovviamente il codice va adattato ai controlli che hai tu sul form, quindi perchè non ci fai vedere come l'hai adattato alla tua situazione, e vediamo dove sta il problema?
Boolean
non ci giurerei ma potrei essere ioOriginariamente inviato da Boolean
il codice che ti ha fornito Ranza, funziona, e ti permette di fare esattamente quello che chiedi.
questo metodo lo postai io, tempo fa, quando qualcuno fece la stessa tua richiesta...
ovviamente il codice va adattato ai controlli che hai tu sul form, quindi perchè non ci fai vedere come l'hai adattato alla tua situazione, e vediamo dove sta il problema?
Boolean
![]()
Private Sub Toolbar1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
If Command1 = 1 Then
StartX = x
StartY = Y
Moving = True
End If
End Sub
Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
If Not Moving Then Exit Sub
Me.Move Me.Left + (x - StartX), Me.Top + (Y - StartY)
End Sub
Private Sub Toolbar1_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)
Moving = False
End Sub
appunto... hai sbagliato ad adattare il codice...
l'errore è qui:
e va modificato così:codice:Private Sub Toolbar1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) If Command1 = 1 Then '<---questo deve riferirsi al parametro restituito dalla Sub di Evento! StartX = x StartY = Y Moving = True End If End Sub
codice:Private Sub Toolbar1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) If Button = 1 Then StartX = x StartY = Y Moving = True End If End SubBoolean