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= | + | <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 | ||
− | |||
.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= | + | <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 | ||
− | |||
.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