Spostare o ridimensionare un oggetto a seconda del punto ove si clicca
Vai alla navigazione
Vai alla ricerca
Vediamo il caso esemplificativo in cui un oggetto verrà spostato oppure ridimensionato a seconda del punto dell'oggetto medesimo, nel quale si clicca al suo interno 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()
' Se si clicca nella parte sinistra della "TextBox", pari ai 4/5 dell'intera dimensione dell'Oggetto, allora la "TextBox" potrà essere spostata sul "Form":
If Mouse.X < (TextBox1.W * 0.8) Then
With TextBox1
.X = .X + Mouse.X - Mouse.StartX
.Y = .Y + Mouse.Y - Mouse.StartY
End With
Else
' Se si clicca e si sposta il Mouse nella restante parte a destra della "TextBox", pari a 1/5 della dimensione dell'Oggetto, allora si otterrà un ridimensionamento della "TextBox":
TextBox1.Resize(Mouse.X, Mouse.Y)
Endif
TextBox1.Mouse = 18
End
Public Sub TextBox1_MouseUp()
TextBox1.Mouse = Mouse.Arrow
End