מסננים

המידע בסעיף זה חל על סגנון Explorer והן הישן הסגנון פתוח שמירה בשם תיבות הדו-שיח.

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

כדי לציין את המסננים, להגדיר את האיבר lpstrFilter של מבנה הפרמטר OPENFILENAME להצביע על מאגר המכיל מערך של זוגות מחרוזת המסנן. המחרוזת האחרונה במערך חייבים לציין תו null הנוסף.

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

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

הפרמטר OPENFILENAME ofn;       / / מבנה תיבת דו-שיח נפוצות

ofn.lpstrFilter = "Source\0 *.C; *.CXX\0All\0*.*\0 "
ofn.nFilterIndex = 1 

חבר nFilterIndex של מבנה הפרמטר OPENFILENAME ציון אינדקס המציין איזה מסנן משתמש בתיבת הדו-שיח בתחילה. מסנן הראשונה במאגר כולל אינדקס 1, השני 2 וכן הלאה. אם להחזיר השינויים המשתמש המסנן בעת שימוש בתיבת הדו-שיח, חבר nFilterIndex מוגדר כהאינדקס של המסנן הנבחר ב-.

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

עבור תיבות דו-שיח בסגנון Explorer, סיומת ברירת המחדל עשויים להשתנות אם המשתמש בוחר מסנן שונה. אם המשתמש בוחר מסנן שאת התבנית הראשונה היא של הטופס *.xxx (כלומר, הסיומת אינה כוללת תו כללי), תיבת הדו-שיח משתמש xxx כמו סיומת ברירת המחדל. מצב זה מתרחש רק אם ציינת סיומת ברירת המחדל בחבר lpstrDefExt של מבנה הפרמטר OPENFILENAME . לדוגמה, אם המשתמש בוחר את "Source\0 *.C; *.CXX\0 "מסנן, סיומת ברירת המחדל משתנה ל-"C". עם זאת, אם הייתה הגדרת מסנן בשם "Source\0 *.C * \0 ", סיומת ברירת המחדל לא ישתנה בגלל ההרחבה כולל תו כללי.

Index