Creare e dimensionare un oggetto con lo spostamento del mouse sul form

Da Gambas-it.org - Wikipedia.

Vedremo un paio di esempi, nei quali viene creato un oggetto e quindi immediatamente e contemporaneamente dimensionato, ovvero con dimensioni predefinite e successivamente modificate.

Creazione di un oggetto e contestuale dimensionamento

Come esempio creeremo un Button cliccando con il mouse sul Form e lo dimensioneremo immediatamente e contemporaneamente spostando il mouse verso sinistra sul Form:

Private bt As Button


Public Sub Form_MouseDown()

' Crea il "Button":
 bt = New Button(Me)

End

Public Sub Form_MouseMove()

' Assegna le caratteristiche al "Button" mediante lo spostamento verso SINISTRA del mouse:
 With bt
   .Width = Mouse.X - Mouse.StartX
   .Height = Mouse.Y - Mouse.StartY
   .X = Mouse.StartX
   .Y = Mouse.StartY
   .Text = "Button creato\ncon lo spostamento del mouse !"
 End With

End


Creazione di un oggetto con dimensioni predefinite e loro successiva modifica

In quest'altro esempio, prima creeremo il Button con dimensione predefinità. Quindi, ricliccando sul Button, ne modificheremo le dimensioni cliccando all'interno del Button e sposteremo il puntatore del mouse tenendone contemporaneamente schiacciato il tasto:

Private bt As Button


Public Sub Form_MouseDown()

' Crea il "Button":
 With bt = New Button(Me) As "Bt"
   .X = Mouse.X
   .Y = Mouse.Y
   .W = 10
   .H = 10
 End With

End

Public Sub Bt_MouseMove()

' Modifica le dimensioni del "Button" mediante lo spostamento del mouse (in questo caso, però, bisogna cliccare all'interno del "Button" creato).
' Con "Last" è possibile modificare il "Button" cliccato fra eventuali molti creati sul "Form".
 With Last
   .Width = Mouse.X
   .Height = Mouse.Y
 End With

End