8.1 – Interfaccia grafica (GUI)

Fino ad ora, i programmi esaminati non erano nella forma con cui si è soliti conoscerli. L’assenza di elementi grafici, come immagini di sfondo, menù ad elenco ed elementi simili era infatti dovuta all’utilizzo di istruzioni semplici come InputBox o MessageBox. Con le GUI (“Graphical User Interface”) è invece possibile sopperire a tale mancanza.

In AutoIt, la creazione di una GUI avviene attraverso il comando GUICreate. A questo bisogna tuttavia affiancare altri importanti elementi: prima di tutto è necessario rendere l’interfaccia visibile attraverso il comando GUISetState, per poi, attraverso un ciclo while infinito, controllare l’eventuale pressione del pulsante di uscita (definito, all’inizio dello script, includendo la libreria GUIConstants.au3).

In alternativa allo Switch è possibile fare uso della struttura di controllo Select

 

 

8.2 – Elementi di base

Per creare gli elementi di base, come pulsanti o caselle di testo, AutoIt mette a disposizione diversi comandi:

GUICtrlCreateButton: crea un pulsante.

GUICtrlCreateCheckbox: crea una voce selezionabile (con il segno di spunta).

GUICtrlCreateCombo: crea un menù a tendina da cui è possibile scegliere una voce (di default, è possibile anche scrivere manualmente all’interno).

GUICtrlCreateEdit: crea uno spazio di inserimento e modifica di un testo (disposto eventualmente su più righe).

GUICtrlCreateInput: crea uno spazio di inserimento e modifica di un testo (disposto solo su una riga).

GUICtrlCreateLabel: crea un’etichetta al cui interno è possibile mostrare un testo (ovviamente non modificabile).

GUICtrlCreateRadio: crea un gruppo di voci tra cui è possibile selezionarne solamente una.

A ognuno di questi comandi ne sono corredati altri per l’eventuale lettura o aggiornamento dei dati contenuti: per leggere il testo presente in un Input è infatti necessario fare uso della funzione GUICtrlRead, mentre per inserire le voci in una Combo si utilizza la funzione GUICtrlSetData. Analizzarle tutte in dettaglio comporterebbe pagine e pagine di lavoro, e visto che i loro parametri sono spiegati dettagliamente nella guida ufficiale (consultabile premendo F1 una volta in SciTE), mi limito a riportare un piccolo esempio.

 

 

8.3 – Stili avanzati

Per personalizzare lo stile della GUI è necessario agire sul sesto o sul settimo parametro, inserendo delle costanti che aggiungeranno, o rimuoveranno, delle caratteristiche. Tali costanti sono definite nella libreria WindowsConstants.au3, che va pertanto inclusa all’inizio dello script.

Una delle costanti più utili, da inserire come sesto parametro, è $WS_MAXIMIZEBOX, che permette di abilitare il pulsante di ingrandimento della finestra (altrimenti disabilitato di default). Tale valore andrà però a disabilitare il pulsante per minimizzare la GUI, che si può tuttavia tenere attivo sfruttando la costante $WS_MINIMIZEBOX e la funzione BitOR (utile a combinare due o più valori).

Il settimo parametro della funzione, exStyle (“Extended Style”), rende possibile un’ulteriore personalizzazione. Il parametro $WS_EX_ACCEPTFILES, ad esempio, rende possibile il trascinamento di file sulla GUI.

Gli stessi elementi visti in precedenza, come i pulsanti o le caselle di input, posso assumere stili personalizzati. Per la loro applicazione è necessario includere delle librerie diverse, specificate di volta in volta nella guida ufficiale a seconda dell’oggetto in questione. Riprendendo la Combo vista in precedenza, è infatti possibile includere la libreria ComboConstants.au3 e rendere la combo stessa solamente leggibile: