הסגנון WS_GROUP

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

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

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

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

ברגע שהמערכת יש את הפקד הבא או הקודם, הוא שולח הודעה WM_GETDLGCODE על הפקד כדי לקבוע את סוג הפקד. לאחר מכן המערכת מעבירה את המוקד קלט לפקד אם היא אינה פקד סטטי. אם הפקד נמצא בלחצן אפשרות אוטומטית, המערכת שולחת הודעה BM_CLICK אליו. יישום גם להשתמש GetNextDlgGroupItem כדי לאתר את הפקדים בקבוצה.

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

Index