Mostrare una finestra tipo MessageBox mediante codice HTML

Da Gambas-it.org - Wikipedia.

E' possibile ottenere l'apertura della finestra di un MessageBox, passando all'Oggetto WebView un apposito file html contenente il seguente codice HTML:

<HTML>
<BODY>
 <SCRIPT type="text/javascript">

     alert("Messaggio qualsiasi !");

 </script>
</body> 
</html>

Appena richiamato il file html, si aprirà la finestra di messaggio che arresterà il proseguo dell'eventuale codice Gambas, sino a quando l'utente non avrà cliccato sul tasto "OK" della finestra del MessageBox, creata dal codice html.

Il codice Gambas in ambiente grafico

Si utilizzerà il Metodo ".SetHtml()" della Classe WebView, al quale andrà passato, come argomento, il codice html:

Private WebView1 As WebView


Public Sub Form_Open()

 With WebView1 = New WebView(Me)
   .X = 0
   .Y = 0
   .W = Me.W * 0.5
   .H = Me.H
 End With

End


Public Sub Button1_Click()

 WebView1.SetHtml("<HTML><BODY>" &
                  "<SCRIPT type=\"text/javascript\">" &
                  "alert(\"Messaggio qualsiasi !\");" &
                  "</script>" &
                  "</body></html>")

End


Il codice Gambas in un'applicazione a riga di comando

E' possibile ottenere la visualizzazione di un MessageBox grazie all'uso dell'Oggetto WebView e il protocollo HTML anche in un'applicazione a riga di comando. Bisognerà avere, però, l'accortezza di creare un Oggetto Window, che farà solo e semplicemente da necessario Contenitore dell'Oggetto WebView, attivando un Componente grafico di Gambas e il relativo Componente che consente di usare la Classe WebView.

Mostriamo un esempio, nel quale sono attivati i Componenti gb.qt5 e gb.qt5.webview, oppure i Componenti gb.qt6 e gb.qt6.webview:

Public Sub Main()

 Dim wn As New Window
 Dim WebView1 As WebView

 With WebView1 = New WebView(wn)
   .SetHtml("<HTML><BODY>" &
            "<SCRIPT type=\"text/javascript\">" &
            "alert(\"Messaggio qualsiasi !\");" &
            "</script>" &
            "</body></html>")
 End With

 Wait 0.1

End