Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [VB6]spostare oggetto con il mouse

    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.

  2. #2
    ma la cosa deve avvenire in run-time?o nell'IDE??

  3. #3
    Utente di HTML.it L'avatar di hkproj
    Registrato dal
    Jul 2006
    Messaggi
    250
    credo che la api ReleaseCapture venga usata proprio per questo scopo, ora non ricordo come usarla

  4. #4
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da ranza!!!123
    ma la cosa deve avvenire in run-time?o nell'IDE??
    la cosa deve avvenire a form lanciato

  5. #5
    questo è il codice che uso in una mia applicazione
    codice:
    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
    dove barra è una picturebox...prova a riadattare il codice su un frame,dovrebbe essere la stessa cosa
    sempre se ho capito il problema

  6. #6
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    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.

  7. #7
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    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

  8. #8
    Originariamente 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
    non ci giurerei ma potrei essere io

  9. #9
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    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

  10. #10
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    appunto... hai sbagliato ad adattare il codice...

    l'errore è qui:

    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
    e va modificato così:

    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 Sub
    Boolean

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.