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 dimensionato ovvero modificate successivamente le sue dimensioni.


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 sul Form:

Private bt As Button
Private xIniz As Integer
Private yIniz As Integer


Public Sub Form_MouseDown()
 
   ' creiamo il Button:
 bt = New Button(Me)

' Raccogliamo la posizione iniziale del mouse
  xIniz = Mouse.X
  yIniz = Mouse.Y

End


Public Sub Form_MouseMove()

' Assegnamo le caratteristiche al "Button" mediante lo spostamento del mouse:
 With bt
   .Width = Mouse.X - xIniz
   .Height = Mouse.Y - yIniz
   .X = xIniz  ' Le coordinate di partenza sono quelle impostate
   .Y = yIniz  ' con il "MouseDown".
   .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 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()

' creiamo 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()

' Modifichiamo le dimensioni del "Button" mediante lo spostamento del mouse
' (in questo caso, però, dobbiamo cliccare all'interno del "Button" creato):
 With bt
   .Width = Mouse.X
   .Height = Mouse.Y
 End With

End