Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
MoveImage - Form1.frm

Form1.frm

Caricato da:
Scarica il programma completo

  1. 'Codice d'esempio per lo spostamento di un controllo "Imagebox" all'interno
  2. 'di un'altro controllo (es. picturebox) con funzioni di "contenitore".
  3.  
  4. 'By Claudio Gucchierato 1999
  5.  
  6. Option Explicit
  7. Dim startx As Integer 'coordinata(x)  iniziale per lo spostamento dell'immagine
  8. Dim starty As Integer 'coordinata(y)  iniziale per lo spostamento dell'immagine
  9. Dim BordoTreD As Integer 'eventuale spessore bordo 3D del controllo contenitore
  10.  
  11. Private Sub Command3_Click()
  12. MsgBox "craeato da gius"
  13. End
  14. End Sub
  15.  
  16. Private Sub Form_Load()
  17. 'dichiarazione  che serve per tener conto dello spessore dell'eventuale
  18. 'cornice tridimensionale del controllo contenitore (picturebox)
  19.    
  20.     If picContainer.Appearance = 1 And picContainer.BorderStyle = 1 Then
  21.         'bordo con effetto tridimensionale
  22.         BordoTreD = 60 'spessore del bordo in twips
  23.         'bordo normale
  24.     ElseIf picContainer.Appearance = 0 And picContainer.BorderStyle = 1 Then
  25.         BordoTreD = 30 'spessore del bordo in twips
  26.     Else 'nessun bordo
  27.         BordoTreD = 0
  28.     End If
  29.  
  30. End Sub
  31.  
  32. Private Sub imgImmagine_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  33.         startx = X 'memorizzo la posizione (X) di partenza
  34.         starty = Y 'memorizzo la posizione (Y) di partenza
  35. End Sub
  36.  
  37. Private Sub imgImmagine_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  38.  If Button = 1 Then 'se č premuto il pulsante SX del mouse........
  39.      Call SpostaImmagine(X, Y)  'richiamo la sub
  40. End If
  41. End Sub
  42.  
  43. Sub SpostaImmagine(X As Single, Y As Single)
  44. Dim orizzontale As Double
  45. Dim verticale As Double
  46. 'spostamento "Left" e "Top" da eseguire
  47. orizzontale = imgImmagine.Left + (X - startx)
  48. verticale = imgImmagine.Top + (Y - starty)
  49.  
  50. '>>>>>>>>>>>immagine pių piccola del controllo picturebox
  51. If imgImmagine.Width < picContainer.Width And imgImmagine.Height < picContainer.Height Then
  52.    
  53.     imgImmagine.Left = orizzontale
  54.        
  55.         If imgImmagine.Left <= 0 Then imgImmagine.Left = 0
  56.         If imgImmagine.Left + imgImmagine.Width >= picContainer.Width - BordoTreD Then
  57.             imgImmagine.Left = picContainer.Width - imgImmagine.Width - BordoTreD
  58.         End If
  59.  
  60.     imgImmagine.Top = verticale
  61.        
  62.         If imgImmagine.Top <= 0 Then imgImmagine.Top = 0
  63.         If imgImmagine.Top + imgImmagine.Height >= picContainer.Height - BordoTreD Then
  64.             imgImmagine.Top = picContainer.Height - imgImmagine.Height - BordoTreD
  65.         End If
  66.  
  67. Else
  68.  
  69. '>>>>>>>>>>immagine pių grande del controllo picturebox
  70.         If imgImmagine.Left + (X - startx) > 0 Then
  71.             orizzontale = 0
  72.         ElseIf imgImmagine.Left + (X - startx) <= picContainer.Width - imgImmagine.Width - BordoTreD Then
  73.             orizzontale = picContainer.Width - imgImmagine.Width - BordoTreD
  74.         End If
  75.  
  76.     imgImmagine.Left = orizzontale
  77.    
  78.         If imgImmagine.Top + (Y - starty) > 0 Then
  79.             verticale = 0
  80.         ElseIf imgImmagine.Top + (Y - starty) <= picContainer.Height - imgImmagine.Height - BordoTreD Then
  81.             verticale = picContainer.Height - imgImmagine.Height - BordoTreD
  82.         End If
  83.     imgImmagine.Top = verticale
  84. End If
  85.  
  86.  End Sub
  87.  
  88. Private Sub Command1_Click()
  89. imgImmagine.Picture = Image2.Picture
  90. imgImmagine.Top = 0
  91. imgImmagine.Left = 0
  92. End Sub
  93.  
  94. Private Sub Command2_Click()
  95. imgImmagine.Picture = Image1.Picture
  96. imgImmagine.Top = 0
  97. imgImmagine.Left = 0
  98. End Sub