locked
איך עושים אירוע לחיצה (PointerPressed) ארוכה ושיעבוד בלולאה או כל פיתרון אחר RRS feed

  • שאלה

  • יש לי לחצן שאמור להגדיל זום לדוגמא איזה שהוא אלמנט אני מעוניין שכל זמן שהלחצן לחוץ יגדל האלמנט , "כמובן שלא במהירות האור". כמו שיש KEYDOWN שהוא אירוע מיוחד למקלדת שהוא קבוע עם זמן אחת לכך וכך טיקים של שנייה הוא חוזר על עצמו.??

    צבי דויטש

    יום ראשון 21 יולי 2013 22:51

תשובות

  • אני לא משוכנע שהבנתי את הצורך.

    האם ניסית להסתכל על RepeatButton?
    זהו כפתור שכל עוד הוא לחוץ הוא יכול לירות event לפי ה-Interval שהגדרת.

    • הוצע כתשובה על-ידי Elad Shaham יום שני 22 יולי 2013 06:47
    • סומן כתשובה על-ידי צבי דויטש יום שני 22 יולי 2013 06:54
    יום שני 22 יולי 2013 06:01

כל התגובות

  • אחת שיטות הנפוצות והיעילות למימוש לחיצה ארוכה היא על ידי כך שבודקים את רגע התחלת הלחיצה (על ידי אירוע on mouse click למשל בהתאם לטכנולוגיה איתה עובדים) וממשיכים את הפעולה עד לסיום הלחיצה (על ידי אירוע  on mouse up למשל או כשיש יציאה של העכבר מהפוקוס). ככה מאחורי הקלעים אנחנו מקבלים את המימוש של "זמן הלחיצה".

    כדי שהוא לא יפעל ב"מהירות האור" פשוט מבצעים השהייה על ידי הפעלת הפונקציה כל X זמן. ז"א כל X זמן אם עדיין לא הדענו לאירוע הסיום אז מבצעים את הפעולה. זו גם הצורה שמממשים (המילה עם הכי הרבה "מ") עם אירוע מקלדת ארוך.


    signature

    • נערך על-ידי pituachMVP יום שני 22 יולי 2013 04:35
    יום שני 22 יולי 2013 03:46
  • לא הבנתי.

    אני לא מתכוון לדעת כמה זמן הוא לחץ.

    אני מעונין שכל עוד שהלחצן לחוץ הוא יריץ את אירוע הלחיצה בלולאה.

    באירוע לחיצת עכבר זה לא קורה. הדוגמא לזה היא רק באירוע לחיצת מקש במקלדת שהוא מעיר את האירוע כל כך וכך טיקים.

    בכל מקרה אני משתמש כרגע באירוע "POINTPRESSED".


    צבי דויטש

    יום שני 22 יולי 2013 05:54
  • אני לא משוכנע שהבנתי את הצורך.

    האם ניסית להסתכל על RepeatButton?
    זהו כפתור שכל עוד הוא לחוץ הוא יכול לירות event לפי ה-Interval שהגדרת.

    • הוצע כתשובה על-ידי Elad Shaham יום שני 22 יולי 2013 06:47
    • סומן כתשובה על-ידי צבי דויטש יום שני 22 יולי 2013 06:54
    יום שני 22 יולי 2013 06:01
  • זה בדיוק מה שהייתי צריך.

    אם אני לא טועה עד היום זה היה נעשה על ידי טיימר (אין לי תרגום לעברית) שמתעורר בעת לחיצה ונכבה בעת הפסקת הלחיצה.

    ורק רציתי לדעת האם יש דבר מוכן לזה.

    יש לך מושג דרך אגב איך זה עובד. זה נעשה על ידי טיימר או כמו ירידת מקש שזה לנבור בתוך הגדרות האיבנטים.

    תודה רבה רבה


    צבי דויטש

    יום שני 22 יולי 2013 06:31
  • זה נעשה על ידי טיימר, אבל זה מאחורי הקלעים. אתה צריך רק להרשם ל-click event.
    יום שני 22 יולי 2013 06:47
  • תודה רבה . כמובן שלאחר מחשבה הבנתי שב-WPF ן WINRT שהממשק לא נמצא בערוץ אחד כמו ב-WINFORM היה אפשר לתת לעם ישראל את האפשרות הזאת.

    צבי דויטש

    יום שני 22 יולי 2013 06:55