השירות SetFocus

הפונקציה השירות SetFocus מגדיר מוקד לוח המקשים החלון שצוין. החלון חייבים להיות משויכים תור של הליך המשנה הקורא.

 (השירות SetFocus HWND HWND  hWnd / / לטפל לחלון כדי לקבל המוקד);
 

פרמטרים

hWnd
לטפל אל החלון אשר יקבל את הקלט של לוח מקשים. אם פרמטר זה הוא NULL, מתעלמת מהקשות.

להחזיר ערכים

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

הערות

הפונקציה השירות SetFocus שולח הודעה WM_KILLFOCUS החלון שבו מאבד מוקד לוח המקשים ואת הודעה WM_SETFOCUS בחלון אשר מקבל את המוקד של לוח המקשים. היא מפעילה גם או בחלון אשר מקבל את המוקד או האב של החלון שבו מקבל את המוקד.

אם חלון פעיל, אך לא בהכרח את המוקד, הקשה על מקש כלשהו יפיקו את ההודעה WM_SYSCHAR, WM_SYSKEYDOWN או WM_SYSKEYUP. אם גם הקשה על מקש VK_MENU, הפרמטר lParam ההודעה סיביות ערכת 30. אחרת, הודעות הפיק אין סיבית זו בחר.

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

חלונות CE: אל תשתמש הפונקציה השירות SetFocus כדי להגדיר מוקד לוח המקשים בחלון המשויכים תור הודעות של הליך משנה אחר. יש חריג אחד. אם חלון על הליך משנה אחד הוא הבן של חלון משנה אחרים, או אם החלונות הם אחים של אותו אב, הליך המשנה המשויכות חלון אחד יכול קבע את המוקד לחלון אחר אף הוא שייך משנה אחר. במקרה זה, אין צורך להתקשר AttachThreadInput תחילה.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.

ראה גם

מבט כולל על לוח המקשים קלט, בפונקציות קלט של לוח מקשים, AttachThreadInput, קבל מוקד, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP

Index