הבחירה הנוכחית

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

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

כאשר נוצרת תיבה משולבת, יש בחירה נוכחית. הדבר נכון גם עבור תיבה משולבת פשוט או רשימה נפתחת, אם למשתמש יש לערוך את התוכן של שדה בחירה. כדי להגדיר את הקטע, יישום שליחת ההודעה CB_SETCURSEL התיבה המשולבת. יישום גם להשתמש את ההודעה CB_SELECTSTRING כדי להגדיר את הקטע על פריט רשימה מחרוזת שאת מתחילה מחרוזת שצוינה. כדי לקבוע את הקטע, יישום שולח את ההודעה CB_GETCURSEL התיבה המשולבת. אם לא הקטע, הודעה זו מחזירה CB_ERR.

כאשר המשתמש משנה את הבחירה הנוכחית בתיבה משולבת, הליך חלון או תיבת דו-שיח של האב מקבל הודעה WM_COMMAND עם הודעת דיווח CBN_SELCHANGE המילה הגבוהות של הפרמטר wParam . הודעה זו לא נשלחת כאשר הקטע הנבחר הנוכחי מוגדר באמצעות הודעה CB_SETCURSEL.

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

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

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