שאלה בC דחופה ביותר

Nwtbl

New member
שאלה בC דחופה ביותר

יש לי בעיה.. אני בונה תוכנה וברגע שאני לוחץ על כפתור מסויים אני רוצה שכל עוד לא נלחץ כפתור באיזור הכפתורים -->שהיא תבצע את מה שהיא צריכה. כלומר עשיתי WHILE שנעצר ברגע שהעכבר נלחץ באיזור הכפתורים. הבעיה היא שאיך שאני מפעיל את הכפתור למעשה הוא ישר חוזר לWHILE ונעצר כיוון שלא מספיק הזמן להזיז את העכבר מהכפתור. יש הצעות? תודה מראש
מצורף קוד לדוגמא
 

shiups

New member
מה זאת אומרת

ברגע שאתה לוחץ על העכבר אתה צריך לשנות את Z למספר אחר והלולאה פשוט נגמרת מה בעצם הבעיה פה???
 

Nwtbl

New member
הבעיה..

הבעיה היא שברגע שלחצתי על העכבר ולמעשה זה נכנס לWHILE בסוף הWHILE הוא בודק תקורדינטות והוא מזהה את העכבר כאילו הוא עדיין על הכפתור כלומר אין מספיק זמן לצאת מאיזור הכפתור בכדי שיהיה ניתן להשתמש בפקודות שבWHILE
 

shiups

New member
אולי

תן לו אם לחצתי על לחצן ימני כנס ולחצן שמאלי צא
 

אלדד28

New member
אם תיתן קצת יותר פירוט, אולי נוכל

לעזור לך יותר. איך אתה עובד? MFC? WIN32? על איזה הודעות אתה מחכה? יעזור מאוד אם תעלה את קטע הקוד הרלוונטי.
 

selalerer

New member
העניין הוא שאתה לא בודק אם נלחץ

כפתור או לא אתה פשוט בודק את המיקום של העכבר. בעצם מה שעשית זה שאם העכבר עומד מעל איזור הכפתורים אז הלולאה נפסקת. לפני שאתה בודק איפה נמצא העכבר כדאי שתבדוק אם בכלל הייתה לחיצה.
 
אתה צריך לבצע את המטלות ב - thread

אתה צריך ליצור שני threads (הליכי משנה). אחד להאזנה לכפתור ואחד למטלה שאתה רוצה לבצע.
 
למעלה