אירועי 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 על האפשרות שנבחרה.

אין תגובות!
שיתוף:
| עוד