Фільтри

Відомості в цьому розділі застосовується до Explorer стиль і старий стиль Відкрити і Зберегти як діалогових вікон.

Ви можете надати ім'я файлу фільтри, щоб допомогти користувачеві в обмеження імен файлів, яке відображає діалогове вікно. Ім'я файлу фільтр складається з двох нульовим рядків, опис та візерунок, один об'єднані в іншу. Діалогове вікно відображає опис дозволяє користувачу вибрати який фільтр потрібно використовувати; і вона використовує шаблон, виберіть файли для відображення.

Щоб вказати фільтри, встановити lpstrFilter член OPENFILENAME структури вказати в буфер, яка містить масив фільтр рядка пар. Останній рядок у масиві повинні дотримуватися додаткових символів null.

Рядок зразку може бути комбінацією знаків припустиме ім'я файлу і зірочку (*). Зірочка це символ, який представляє будь-яку комбінацію знаків припустиме ім'я файлу. У діалоговому вікні відображаються лише файли, які йому відповідають. Щоб вказати кілька моделей для того ж опису, слід використовувати крапку з комою (;) на окремі моделі. Зверніть увагу, що пробіли в рядок зразку може призвести до непередбачуваних результатів.

Наступний фрагмент коду визначає два фільтри. Фільтр з описом "Джерело" має дві моделі. Якщо користувач вибере цей фільтр, у діалоговому вікні відображаються лише файли, які мають на.C і.CXX розширень.

OPENFILENAME ofn;       / / Загальні діалоговому вікні структури

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

OPENFILENAME структури, член nFilterIndex визначає індекс, що вказує на те, який фільтр діалоговому вікні спочатку використовує. У перший фільтр буфера має індекс 1, другий 2 і так далі. Якщо користувач зміни, фільтр під час використання діалогового вікна, nFilterIndex член має значення індексу вибраного фільтра на повернення.

Ви можете створити власного фільтра, встановивши член lpstrCustomFilter на адресу, яка містить один фільтр буфера і встановивши член nMaxCustFilter розмір буфера, символів або байт. Діалогового вікна завжди розташовуються на початку список фільтрів Настроюваний фільтр і, на повернення, завжди оновлює візерунок частину фільтра з шаблоном з фільтр, обраних користувачем.

Для Explorer стиль діалогових вікон розширення за замовчуванням може змінитися, якщо користувач вибирає різні фільтр. Якщо користувач вибирає фільтр, чий перший картина, форми *.XXX (тобто, розширення не містить знак підстановки), діалогове вікно використовує xxx як розширення за замовчуванням. Це відбувається, тільки якщо ви вказали розширення за замовчуванням у lpstrDefExt член OPENFILENAME структури. Наприклад, якщо користувач вибирає в "Source\0 *.C; *.CXX\0 "фільтр, розширення за замовчуванням змінюється на"С". Однак, якщо ви були визначені фільтра як "Source\0 *.C * \0 ", розширення за замовчуванням не зміниться, оскільки розширення містить символ узагальнення.

Index