Spostare un Form con il mouse sulla Scrivania
Da Gambas-it.org - Wikipedia.
Versione del 23 ago 2022 alle 16:45 di Vuott (Discussione | contributi)
Per spostare lungo la superficie della Scrivania (Desktop) con il mouse un "Form", ossia una finestra di un programma Gambas, si dovrà fare ovviamente riferimento allo schermo.
Si potrà adottare questo semplice codice:
Private x As Short Private y As Short Public Sub Form_MouseDown() x = Mouse.X y = Mouse.Y End Public Sub Form_MouseMove() Me.Move(Mouse.ScreenX - x, Mouse.ScreenY - y) End
Questo codice è valido anche se il Form è privo di bordi, ossia se alla Proprietà ".Border" del Form sia stata assegnata la Costante per non disegnare i bordi del Form:
Me.Border = Border.None
Spostare il Form agendo con il mouse su un suo Oggetto grafico "Figlio"
Se invece il Form dovrà essere spostato agendo con il mouse su un Oggetto grafico "Figlio" del Form (ad esempio un Panel posto sul Form predetto), allora si potrà utilizzare il seguente codice:
Private Panel1 As Panel Private x As Short Private y As Short Public Sub Form_Open() With Panel1 = New Panel(Me) As "Panel1" .X = 0 .Y = 0 .W = Me.W .H = Me.H * 0.2 .Background = Color.SoftOrange End With End Public Sub Panel1_MouseDown() x = Mouse.ScreenX - Me.X y = Mouse.ScreenY - Me.Y End Public Sub Panel1_MouseMove() Me.Move(Mouse.ScreenX - x, Mouse.ScreenY - y) End
Pure in questo caso il codice è valido, anche se il Form è privo di bordi.