Mesaje si evenimente

Pentru identificarea acelor momente de interactiune ale utilizatorului cu interfata grafica se poate proceda in doua moduri.

 

1. Obtinerea mesajelor in bucla principala (main loop)

Functia care se foloseste pentru acest lucru este GUIGetMsg. Functia are un singur parametru, optional, care specifica daca se doreste captarea unui singur mesaj (parametrul este 0 – default) sau un vector care contine informatii multiple (parametrul este 1) . Vectorul returnat va avea 5 elemente (0 based indexed), informatiile pe care le contine sunt:

$array[0] = 0 sau ID-ul evenimentului sau ID-ul controlului
$array[1] = handle-ul ferestrei
$array[2] = handle-ul controlului (daca este aplicabil)
$array[3] = pozitia pe X a mouseului (pozitia relativa la GUI)
$array[4] = pozitia pe Y a mouseului (pozitia relativa la GUI)

Exemple:

Nota: functia GUIGetMsg face pauze automat pentru a nu supraincarca CPU, dar ca o buna practica in bucle se poate folosi si o pauza scurta de cateva milisecunde.

 

2. Desemnarea functiilor care sa ruleze pentru evenimentele interceptate (EventMode)

Pentru interceptarea evenimentelor cauzate de butoanele de sistem se foloseste functia GUISetOnEvent; analog pentru evenimentele cauzate de controale se foloseste GUICtrlSetOnEvent.

Functia GUISetOnEvent are 3 parametri: ID-ul evenimentului, functia care se apeleaza si optional handle-ul ferestrei.

Functia GUICtrlSetOnEvent are 2 parametri: ID-ul controlului si functia care se apeleaza.

Pentru a folosi aceasta metoda trebuie specificat acest lucru folosind functia AutoItSetOption(“GUIOnEventMode”,1) cu parametri specificati.


* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.