אירועי Dialog
לאחר שעיצבנו את הדיאלוג, אנו רוצים לגרום לו להגיב למשתמש.
כאשר משתמש לוחץ על פקד, סוגר את הדיאלוג או מבצע פעולה
כלשהי הקשורה לדיאלוג, מתרחש אירוע מסוג Dialog.
אנו מגיבים לאירוע זה בצורה הכללית הבאה:
on 1:dialog:name:event:id: {
}
name
הוא שם הדיאלוג שאנו רוצים להגיב לאירועים שלו.
event
הוא האירוע שאנו רוצים להגיב אליו. ערכים אפשריים לפרמטר זה הם:
init – אירוע זה נקרא כאשר הדיאלוג נוצר.
edit – אירוע זה נקרא כאשר טקסט בתוך
תיבת טקסט משתנה על ידי המשתמש.
sclick – אירוע זה נקרא כאשר המשתמש לוחץ לחיצה בודדת עם העכבר על פקד כלשהו.
dclick – אירוע זה נקרא כאשר המשתמש לוחץ לחיצה כפולה עם העכבר על מקש
כלשהו.
בתוך אירוע זה ניתן להשתמש בפונקציות הבאות, על מנת לקבל
מידע על האירוע:
$dname מחזירה את שם הדיאלוג שבו התרחש האירוע.
$devent מחזירה את שם האירוע שהתרחש.
$did מחזירה את הid
של האירוע שהתרחש.
פרמטרים אלו רלוונטיים, כאשר במקום להתייחס לדיאלוג, אירוע
או id ספציפי אנו משתמשים ב*.
נחזור עכשיו לדיאלוג שלנו. נגרום להופעת הודעה בStatus Window, במקרה שבוחרים אחד מכפתורי הרדיו:
on
1:dialog:dlgFirstDialog:sclick:*: {
if ( $did == 3 ) echo -s
Option 1 Selected
if ( $did == 4 ) echo -s
Option 2 Selected
if ( $did == 5 ) echo -s
Option 3 Selected
}
האירוע שאנו מגיבים אליו הוא sclick. בעזרת * אנו קובעים שהאירוע יתפוס את כל הלחיצות בדיאלוג, ולא
מגדירים id מסוים שייתפס.
אנו בודקים בעזרת הפונקציה $did מהו הid של הפקד הנלחץ ומדפיסים הודעה בStatus Window על האפשרות שנבחרה.