Differenze tra le versioni di "Spostare o ridimensionare un oggetto a seconda del punto ove si clicca"
Da Gambas-it.org - Wikipedia.
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | 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. | + | 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. | 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: | La parte essenziale del codice potrà essere la seguente: | ||
− | + | Public Sub TextBox1_MouseMove() | |
− | + | <FONT color=gray>' ''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":''</font> | |
− | + | If Mouse.X < (TextBox1.W * 0.8) Then | |
− | <FONT color=gray>' ''Se si clicca | + | With TextBox1 |
− | + | .X = .X + Mouse.X - Mouse.StartX | |
− | + | .Y = .Y + Mouse.Y - Mouse.StartY | |
− | + | End With | |
− | + | Else | |
− | + | <FONT color=gray>' ''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":''</font> | |
− | + | TextBox1.Resize(Mouse.X, Mouse.Y) | |
− | + | Endif | |
− | <FONT color=gray>' ''Se si clicca e si sposta il | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
TextBox1.Mouse = 18 | TextBox1.Mouse = 18 | ||
− | + | End | |
− | |||
− | + | Public Sub TextBox1_MouseUp() | |
− | + | TextBox1.Mouse = Mouse.Arrow | |
− | + | End |
Versione attuale delle 08:02, 14 giu 2023
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