Impostare le coordinate ove far aprire la finestra dell'InputBox

Da Gambas-it.org - Wikipedia.
Versione del 29 dic 2021 alle 16:13 di Vuott (Discussione | contributi) (Creata pagina con "Solitamente la finestra dell'ImputBox si mostra centrata rispetto alla scrivania. <BR>E' possibile decidere in quale punto della Scrivania far apparire la finestra dell'ImputB...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Solitamente la finestra dell'ImputBox si mostra centrata rispetto alla scrivania.
E' possibile decidere in quale punto della Scrivania far apparire la finestra dell'ImputBox, impostando le sue coordinate.
Per impostare le coordinate dell'InputBox, bisognerà individuare il numero identificativo della sua finestra attraverso la Proprietà ".ActiveWindow" della Classe statica Desktop, e successivamente utilizzando il Metodo ".Move()" della Classe "DesktopWindow".
A tal fine bisognerà attivare anche i Componenti "gb.desktop" e "gb.desktop.x11".

Mostriamo un esempio pratico:

Private Timer1 As Timer


Public Sub Button1_Click()> 

 With Timer1 = New Timer As "Timer1"
   .Delay = 100
   .Start
 End With

 InputBox("Testo qualsiasi", "Titolo dell'InputBox")

End

Public Sub Timer1_Timer()

' Il "Timer" consente di verificare l'attuale finestra "attiva" e posta al di sopra delle altre.
' Quando sarà stato aperto l'InputBox, il Metodo "Desktop.ActiveWindow" ne individuerà la finestra e quindi il suo ID:
 Dim dw As DesktopWindow

 With dw = New DesktopWindow(Desktop.ActiveWindow)
' Evita che il successivo Metodo ".Move()" venga applicato anche alle altre finestre: 
   If .VisibleName <> "Titolo dell'InputBox" Then Return
' Applica dunque il Metodo ".Move()" alla sola finestra dell'InputBox: 
   .Move(Screen.AvailableWidth * 0.8, Screen.AvailableHeight * 0.2)
   Timer1.Stop
 End With

End