Differenze tra le versioni di "Spostare o ridimensionare una finestra di un MessageBox"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | + | Solitamente la finestra del ''MessageBox'' si mostra centrata rispetto alla scrivania. | |
+ | <BR>E' possibile decidere in quale punto della Scrivania far apparire la finestra del ''MessageBox'', impostando le sue coordinate. | ||
+ | <BR>Per fare ciò, bisognerà individuare il numero identificativo della sua finestra attraverso la Proprietà ".ActiveWindow" della Classe statica ''Desktop'', e successivamente utilizzare il Metodo ".Move()" della Classe "DesktopWindow". | ||
+ | <BR>A tal fine è necessario che il ''MessageBox'' abbia un titolo della propria finestra (e ciò si imposterà con la Proprietà ".Title"), e che siano attivati 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 |
− | + | ||
− | + | With Message | |
− | + | .Title = "Titolo del MessageBox" | |
− | ''' | + | .Info("Testo qualsiasi") |
− | + | End With | |
+ | |||
+ | '''End''' | ||
+ | |||
+ | '''Public''' Sub Timer1_Timer() | ||
+ | |||
+ | <FONT Color=gray>' ''Il "Timer" consente di verificare l'attuale finestra "attiva" e posta al di sopra delle altre.'' | ||
+ | ' ''Quando sarà stato aperto il "MessageBox", il Metodo "Desktop.ActiveWindow" ne individuerà la finestra e quindi il suo ID:''</font> | ||
Dim dw As DesktopWindow | Dim dw As DesktopWindow | ||
− | |||
− | + | With dw = New DesktopWindow(Desktop.ActiveWindow) | |
− | <FONT | + | <FONT Color=gray>' ''Evita che il successivo Metodo ".Move()" venga applicato anche alle altre finestre:''</font> |
− | If | + | If .VisibleName <> "Titolo del MessageBox" Then Return |
− | <FONT | + | <FONT Color=gray>' ''Applica dunque il Metodo ".Move()" alla sola finestra del "MessageBox":''</font> |
− | + | <FONT Color=#B22222>.Move</font>(Screen.AvailableWidth * 0.8, Screen.AvailableHeight * 0.2) | |
− | + | Timer1.Stop | |
− | + | End With | |
− | + | ||
− | |||
− | |||
− | |||
'''End''' | '''End''' |
Versione delle 20:37, 29 dic 2021
Solitamente la finestra del MessageBox si mostra centrata rispetto alla scrivania.
E' possibile decidere in quale punto della Scrivania far apparire la finestra del MessageBox, impostando le sue coordinate.
Per fare ciò, bisognerà individuare il numero identificativo della sua finestra attraverso la Proprietà ".ActiveWindow" della Classe statica Desktop, e successivamente utilizzare il Metodo ".Move()" della Classe "DesktopWindow".
A tal fine è necessario che il MessageBox abbia un titolo della propria finestra (e ciò si imposterà con la Proprietà ".Title"), e che siano attivati 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 With Message .Title = "Titolo del MessageBox" .Info("Testo qualsiasi") End With 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 il "MessageBox", 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 del MessageBox" Then Return ' Applica dunque il Metodo ".Move()" alla sola finestra del "MessageBox": .Move(Screen.AvailableWidth * 0.8, Screen.AvailableHeight * 0.2) Timer1.Stop End With End