סגנונות תיבות רשימה

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

סגנון תיבת רשימה תיאור
LBS_DISABLENOSCROLL הצגת פס גלילה אנכי לא זמין עבור תיבת הרשימה כאשר התיבה שאינה מכילה פריטים מספיק כדי לגלול. אם לא תציין סגנון זה, פס הגלילה מוסתר כאשר תיבת הרשימה אינה מכילה פריטים די.
LBS_EXTENDEDSEL מאפשר פריטים מרובים ייבחר על-ידי שימוש במקש shift והעכבר או צירופי מקשים מיוחדים.
LBS_HASSTRINGS מציין תיבת רשימה מכילה פריטים המורכב של מחרוזות. תיבת הרשימה שומר את הזיכרון ואת כתובות מיתרים כך היישום להשתמש את ההודעה LB_GETTEXT כדי לאחזר את הטקסט עבור פריט מסוים. כברירת מחדל, כל תיבות הרשימה מלבד תיבות רשימה שצוירו על-ידי הבעלים יש סגנון זה. באפשרותך ליצור תיבת רשימה שצוירו על-ידי הבעלים של או בלי סגנון זה.
LBS_MULTICOLUMN מציין תיבת רשימה שתאוגד שנגללו אופקית. ההודעה LB_SETCOLUMNWIDTH מגדיר את רוחב העמודות.
LBS_MULTIPLESEL הבחירה מחרוזת הפעלה או ביטול של כל הזמן כשמשתמש לוחץ על או לוחץ פעמיים מחרוזת בתיבת הרשימה. המשתמש יכול לבחור כל מספר של מחרוזות.
LBS_NODATA מציין תיבת רשימה בהעדר נתונים. ציון סגנון זה בעת ספירת הפריטים בתיבת הרשימה יעלה אלף. תיבת רשימה של נתונים לא חייבת להיות גם את סגנון LBS_OWNERDRAWFIXED, אך אינו יכול להכיל את סגנון LBS_SORT או LBS_HASSTRINGS.

תיבת רשימה בהעדר נתונים דומה בתיבת רשימה שצוירו על-ידי הבעלים לא פרט לכך שהיא מכילה נתונים מחרוזת או מפת סיביות עבור פריט. פקודות להוספת, הוספה או מחיקה של פריט תמיד להתעלם באף פריט נתונים; בקשות לחיפוש מחרוזת בתוך תיבת הרשימה תמיד להיכשל. המערכת שולחת את הודעת WM_DRAWITEM חלון בעלים כאשר עליך לצייר פריט. חבר itemID של מבנה DRAWITEMSTRUCT עברו עם ההודעה WM_DRAWITEM מציין את מספר השורה של הפריט כדי לצייר. תיבת רשימה בהעדר נתונים אינו שולח הודעה WM_DELETEITEM.

LBS_NOINTEGRALHEIGHT ציון הגודל של תיבת הרשימה הוא בדיוק לגודל שצוין על-ידי היישום בעת שיצר את תיבת הרשימה. בדרך כלל, המערכת גודל תיבת רשימה כך תיבת הרשימה תציג פריטים חלקיים.
LBS_NOREDRAW ציון המראה של תיבת הרשימה אינו מתעדכן בעת ביצוע שינויים. באפשרותך לשנות סגנון זה על-ידי שליחת WM_SETREDRAW הודעה בכל עת.
LBS_NOSEL מציין תיבת הרשימה מכילה פריטים שניתן להציג אך לא נבחרה.
LBS_NOTIFY מיידע את החלון האב עם הודעת קלט בכל פעם שהמשתמש לוחץ או לוחץ פעמיים מחרוזת בתיבת הרשימה.
LBS_OWNERDRAWFIXED מציין כי הבעלים של תיבת הרשימה אחראי ציור התוכן שלה ואת הפריטים בתיבת הרשימה הם באותו הגובה. חלון הבעלים מקבל הודעה WM_MEASUREITEM כאשר תיבת הרשימה נוצרת הודעה WM_DRAWITEM כאשר ההיבט החזותי של תיבת הרשימה השתנה.
LBS_OWNERDRAWVARIABLE מציין כי הבעלים של תיבת הרשימה אחראי ציור התוכן שלה ואת הפריטים בתיבת הרשימה הם משתנה בגובה. חלון הבעלים מקבל הודעה WM_MEASUREITEM עבור כל פריט בתיבה המשולבת כאשר התיבה המשולבת נוצרת הודעה WM_DRAWITEM כאשר ההיבט החזותי של התיבה המשולבת השתנה.
LBS_SORT ממיין מחרוזות בתיבת הרשימה לפי סדר אלפביתי.
LBS_STANDARD מיון בסדר אלפביתי מחרוזות בתיבת הרשימה. חלון האב מקבל הודעת הקלט בכל פעם שהמשתמש לוחץ או לוחץ פעמיים מחרוזת. תיבת הרשימה יש גבולות מכל צדדיו.
LBS_USETABSTOPS מאפשר תיבת רשימה לזהות ולהרחיב את תווי טאב בעת הציור שלו מחרוזות. באפשרותך להשתמש את ההודעה LB_SETTABSTOPS לציון מיקומי עצירת הטאב. מיקומי טאבים ברירת המחדל הן 32 יחידות של תבנית דו-שיח זה מזה. הדו-שיח תבנית היחידות הן יחידות שאינו תלוי-התקן להשתמש בתבניות של תיבת הדו-שיח. כדי להמיר מידות מיחידות תבנית הדו-שיח מסך יחידות (פיקסלים), השתמש בפונקציה MapDialogRect.
LBS_WANTKEYBOARDINPUT מציין כי הבעלים של תיבת הרשימה מקבל הודעות WM_VKEYTOITEM בכל פעם שהמשתמש מקיש על מקש תיבת הרשימה יש מוקד הקלט. פעולה זו מאפשרת ליישום לבצע עיבוד מיוחד בלוח המקשים קלט.

Index