Programmando… (Creare una GUI)

—-Creare-una-GUI–

Codice:
#include <GUIConstants.au3>

$Form = GUICreate(“GUI”, 216, 132)
$Label = GUICtrlCreateLabel(“Che bella GUI! (senza doppisensi)”, 24, 24, 163, 17)
$Button = GUICtrlCreateButton(“Io penso di essere un bottone”, 16, 72, 185, 33)

GUISetState(@SW_SHOW)

While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd

Creare un interfaccia grafica in AutoIt è molto semplice.
Quando si crea un Form è bene includere GUIConstants.au3 così da poter usufruire di alcune variabili già preaparate dal team di AutoIt

Codice:
#include <GUIConstants.au3>

Ora passiamo alla creazione vera e propria del Form, la finestra del nostro programma. Per questo inseriamo la funzione GUICreate (“titolo”)

Codice:
$Form = GUICreate(“GUI”, 216, 132)


Il primo parametro indica il titolo della finestra;
Il secondo e il terzo parametro indicano rispettivamente larghezza e altezza della nostra finestra;
Il quarto e quinto parametro indicano invece la posizione della finestra nello schermo;
il sesto e settimo parametro indicano gli stili della finestra, ovvero dei paramatri che consentono alla vostra finestra di assumere delle praticolari proprietà. Per un elenco completo di queste proprietà consultate l’help di AutoIt
L’ottavo parametro consente di indicare una finestra “madre” per la finestra creata

E’ importante notare che solo il primo parametro è obbligatorio. Tutti gli altri parametri hanno un valore di default che verrà applicato nel caso manchi qualche parametro.

Usando il comando GUICreate () si crea l’handle della finestra (l’oggetto sul quale verranno creati i controlli)

Dopo aver creato la nostra finestrella, procediamo a popolarla di controlli (come bottoni, textbox, liste, etc)
Per creare un controllo in una finestra è sufficiente usare il comando GUICtrlCreate*
L’* va sostituito con il nome del controllo
Per creare un bottone (button in inglese Lingua) ad esempio:

Codice:
$Button = GUICtrlCreateButton(“Io penso di essere un bottone”, 16, 72, 185, 33)


Il primo parametro indica il testo presente nel bottone
Il secondo e il terzo parametro indicano la posizione
Il quarto e il quinto parametro indicano la dimensione del controllo
il sesto e settimo parametro indicano gli stili del controllo, ovvero dei paramatri che consentono ai vostri controlli di assumere alcune prorprietà particolari

Questa è una sorta di traccia usata da molti controlli. Ovviamente alcuni controlli necessitano di più di un parametro ma le strutture dei GUICtrlCreate* sono molto simili tra loro

IMPORTANTE: Da un controllo ritorna sempre l’handle del controllo che verrà usato in seguito per gestire l’interazione con i controlli.

Dopo aver definito i controlli da usare nel Form settiamo lo stato della finestra con il comando

Codice:
GUISetState(@SW_SHOW)

A GUISetstate possono essere passati due parametri:
Il primo indica lo stato che la finestra deve assumere; il secondo indica l’handle della finestra in questione
Se il secondo parametro non viene inserito viene utilizzata l’ultimo form creato

Infine, la parte più divertente, definiamo cosa deve succedere quando l’utente preme un bottone o interagisce con un controllo.

Per questo dobbiamo usare un ciclo infinito: il programma controllerà ogni secondo se qualche controllo è stato usato e reagirà di conseguenza.

Bene, cominciamo a creare un ciclo infinito While…WEnd

Codice:
While 1

Wend

Poi utilizziamo la funzione GUIGetMsg() che rileva le interazioni con i controlli e diciamo al programma di salvare il suo valore dentro una variabile

Codice:
While 1
$Msg = GUIGetMsg ()

Wend

Ora creaiamo una struttura di selezione Switch sul valore di $Msg (ovvero le interazioni con i controlli)

$Msg assumerà il valore dell’handle del controllo che è stato usato, quindi organizziamo così il nostro Switch

Codice:
While 1
$Msg = GUIGetMsg ()
Switch $msg
Case $button
Msgbox (0, “Ehi!”, “Vacci piano con quel mouse!” & @CRLF & “Noi poveri controlli ci pungiamo sempre”)
EndSwitch
Wend

Bene solo un ultima cosa:
In AutoIt vengono attribuiti dei valori particolari ai tasti per ridimensionare, minimizzare e chiudere la finestra.
Per poterli usare è necessario includere GUIConstants.au3
Sono semplicemente delle variabili che possono essere usate come bottoni normali:

$GUI_EVENT_CLOSE = il tasto per chiudere la finestra
$GUI_EVENT_MINIMIZE = il tasto per minimizzare la finestra
$GUI_EVENT_RESTORE = il click sulla barra di windows per ripristinare la finestra
$GUI_EVENT_MAXIMIZE = il tasto per massimizzare la finestra

Codice:
While 1
$Msg = GUIGetMsg ()
Switch $msg
Case $button
Msgbox (0, “Ehi!”, “Vacci piano con quel mouse!” & @CRLF & “Noi poveri controlli ci pungiamo sempre!!!”)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Wend

Bene, se c’è qualcosa di poco chiaro, chiedete pure…

Lascia un commento