לכידת העכבר

המערכת בדרך כלל שולח הודעה העכבר בחלון המכיל את הנקודה החמה הסמן כאשר שמתרחש אירוע עכבר. יישום לשנות אופן פעולה זה באמצעות הפונקציה SetCapture לניתוב הודעות העכבר על חלון מסוים. החלון מקבל כל ההודעות העכבר עד היישום קורא לפונקציה ReleaseCapture או ציון חלון לכידת אחר, או עד שהמשתמש לוחץ על חלון שנוצרו על-ידי הליך משנה אחר.

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

רק חלון קידמה ללכוד קלט עכבר. כאשר חלון רקע מנסה ללכוד קלט עכבר, הוא מקבל הודעות רק עבור אירועי עכבר המתרחשות בעת המגע הסמן נמצא בתוך החלק הגלוי של חלון.

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

הליך משנה להשתמש בפונקציה GetCapture כדי לקבוע אם יש אחד החלונות שלו כבשו את העכבר. אם יש אחד החלונות של הליך המשנה לכידת העכבר, GetCapture מאחזרת את נקודת האחיזה של חלון.

Index