Differenze tra le versioni di "Spostare o ridimensionare un oggetto a seconda del punto ove si clicca"

Da Gambas-it.org - Wikipedia.
Riga 8: Riga 8:
 
   Select Case Mouse.X
 
   Select Case Mouse.X
 
   
 
   
  <FONT color=#006400>' ''Se si clicca e si sposta il puntatore del mouse nella parte''
+
  <FONT color=gray>' ''Se si clicca e si sposta il puntatore del mouse nella parte''
 
  ' ''dell'oggetto dal margine sinistro verso destra, si avrà il suo spostamento sul Form:''</font>
 
  ' ''dell'oggetto dal margine sinistro verso destra, si avrà il suo spostamento sul Form:''</font>
 
     Case 0 To (TextBox1.W / 5) * 4
 
     Case 0 To (TextBox1.W / 5) * 4
 
       With TextBox1
 
       With TextBox1
        .Mouse = 18
 
 
         .X = (Mouse.X + .X) - .W / 2
 
         .X = (Mouse.X + .X) - .W / 2
 
         .Y = (Mouse.Y + .Y) - .H / 2
 
         .Y = (Mouse.Y + .Y) - .H / 2
 
       End With
 
       End With
 
   
 
   
  <FONT color=#006400>' ''Se si clicca e si sposta il puntatore del mouse nella restante parte,''
+
  <FONT color=gray>' ''Se si clicca e si sposta il puntatore del mouse nella restante parte,''
 
  ' ''ossia quella tutta a destra dell'oggetto, si avrà un suo ridimensionamento:''</font>
 
  ' ''ossia quella tutta a destra dell'oggetto, si avrà un suo ridimensionamento:''</font>
 
     Case ((TextBox1.W / 5) * 4) + 1 To TextBox1.W
 
     Case ((TextBox1.W / 5) * 4) + 1 To TextBox1.W
 
       With TextBox1
 
       With TextBox1
        .Mouse = 18
 
 
         .W = Mouse.X
 
         .W = Mouse.X
 
         .H = Mouse.Y
 
         .H = Mouse.Y
Riga 27: Riga 25:
 
   
 
   
 
   End Select
 
   End Select
 +
 +
  TextBox1.Mouse = 18
 +
 
 +
'''End'''
 +
 +
 +
'''Public''' Sub TextBox1_MouseUp()
 +
 
 +
  TextBox1.Mouse = Mouse.Default
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 10:26, 12 nov 2014

Vediamo il caso esemplificativo in cui un oggetto verrà spostato oppure ridimensionato a seconda del punto dell'oggetto medesimo, nel quale si clicca e si agisce con il puntatore del mouse.

Nell'esempio abbiamo un TextBox sul Form. Nel codice si è stabilito che, se si cliccherà ed agirà con il mouse all'interno dei 4/5 dell'oggetto, considerando l'area dal margine sinistro verso destra, il TextBox subirà uno spostamento sul Form. Se invece verrà interessata la restante quinta parte dell'area del TextBox (quella tutta a destra), allora l'oggetto subirà una modifica delle sue dimensioni sulla base, ovviamente, dell'azione del mouse su di esso.

La parte essenziale del codice potrà essere la seguente:

Public Sub TextBox1_MouseMove()

 Select Case Mouse.X

' Se si clicca e si sposta il puntatore del mouse nella parte
' dell'oggetto dal margine sinistro verso destra, si avrà il suo spostamento sul Form:
   Case 0 To (TextBox1.W / 5) * 4
     With TextBox1
       .X = (Mouse.X + .X) - .W / 2
       .Y = (Mouse.Y + .Y) - .H / 2
     End With

' Se si clicca e si sposta il puntatore del mouse nella restante parte,
' ossia quella tutta a destra dell'oggetto, si avrà un suo ridimensionamento:
   Case ((TextBox1.W / 5) * 4) + 1 To TextBox1.W
     With TextBox1
       .W = Mouse.X
       .H = Mouse.Y
     End With

 End Select

 TextBox1.Mouse = 18
 
End


Public Sub TextBox1_MouseUp()
 
  TextBox1.Mouse = Mouse.Default
 
End