Spostare un Balloon

Da Gambas-it.org - Wikipedia.
(Reindirizzamento da Spostare un Ballon)

Come è noto, l'impostazione del Balloon prevede, fra l'altro, la possibilità di posizionare tale oggetto anche alle coordinate da noi scelte.
Tali coordinate sono riferite al Controllo, al quale il Balloon punta.
Esempio:

Public Sub Form_Open()
 
' Imposta una posizione iniziale del "Balloon" con riferimento al Controllo al quale esso punta:
 Balloon.Info("Testo qualsiasi", Me, 10, 10)
 
End

Spostare il Balloon mediante le risorse della Classe DesktopWindow

Poiché il Balloon è una finestra, potremo, come ogni altra finestra, effettuare un suo spostamento anche dopo la sua apparizione sul desktop e a prescindere dal Controllo al quale punta. Ciò vuol dire che in tal caso il riferimento sarà il desktop e non più il Controllo al quale punta.
Si otterrà questo risultato individuando il numero identificativo della finestra del Balloon mediante le risorse della Classe "DesktopWindow " del Componente "gb.desktop.x11".

Mostriamo un codice esemplificativo:

Private dw As DesktopWindow


Public Sub Button1_Click()  
 
' Imposta la durata totale di visualizzazione e una posizione iniziale del "Balloon" con riferimento al Controllo al quale esso punta:
 With Balloon
   .Delay = 10000
   .Info("Testo qualsiasi", Me, 10, 10)
 End With
 
' Il "Balloon" resta in quella posizione per almeno 3 secondi:
 Wait 3

' Per poter individuare l'ID della finestra del "Balloon", si porrà l'ultimo numero di "indice" delle finestre presenti nel desktop (ciò in quanto il "Balloon" è stata senza dubbio l'ultima finestra ad apparire sul desktop):
 With dw = New DesktopWindow(Desktop.Windows[Desktop.Windows.Count - 1].Id)
' Si imposteranno le coordinate per determinare lo spostamento. Il riferimento in questo caso sarà il desktop e non più il Controllo al quale punta:
   .Move(50, 300)
 End With

End


Public Sub Button2_Click()
 
' ...volendo, si potrà anche chiudere anticipatamente il "Balloon":
 dw.Close

End