Filtry

Informacje w tej sekcji odnoszą się do stylu Eksploratora i starym stylu Otwórz i Zapisz jako oknach dialogowych.

Umożliwiają filtry nazwa_pliku, aby pomóc użytkownikowi w ograniczenia nazw, który wyświetla okno dialogowe. Filtr Nazwa pliku składa się z pary ciągów zakończona znakiem null, opis i deseń, jeden łączone z drugiej. Okno dialogowe wyświetla opis, aby umożliwić użytkownikowi wybierać które filtr do użytku; i zastosowano deseń zaznacz pliki do wyświetlania.

Aby określić filtry, zestawu replik lpstrFilter struktury OPENFILENAME do buforu, który zawiera tablicę filtrów pary ciągów. Ostatni ciąg w tablicy musi następować dodatkowy znak null.

Ciąg wzorzec może być kombinacją gwiazdki ** i znaki prawidłową nazwę pliku. Gwiazdka jest symbol wieloznaczny, która reprezentuje dowolną kombinację znaków prawidłową nazwę pliku. Okno dialogowe wyświetla tylko te pliki, które pasuje do wzorca. Aby określić wiele wzorców dla samego opisu, musi używać średnika (;), aby rozdzielić wzorców. Należy zauważyć, że znaków spacji w ciągu wzorzec może dać nieoczekiwane wyniki.

Poniższy fragment kodu określa dwa filtry. Filtr z opisem "Źródło" ma dwa wzorce. Jeśli użytkownik zaznaczy ten filtr, okno dialogowe wyświetla tylko te pliki, które mają.C i.CXX rozszerzeń.

OPENFILENAME ofn;       / / wspólne dialogowego struktury

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

Członek nFilterIndex struktury OPENFILENAME określa indeks, który wskazuje, które filtr okno dialogowe początkowo używa. Pierwszy filtr w buforze ma indeks 1, drugi 2 i tak dalej. Jeśli zmiany użytkownika filtr podczas korzystania z okna dialogowego, członek nFilterIndex jest ustawiona na indeks wybranego filtru na powrót.

Można utworzyć filtr niestandardowy, ustawiając Państwa lpstrCustomFilter na adres buforu, który zawiera jeden filtr i ustawiając Państwa nMaxCustFilter rozmiar buforu, znaków lub liczbę bajtów. Okno dialogowe zawsze umieszcza filtr niestandardowy na początku listy filtrów i, zwrot, zawsze aktualizowana część wzorca filtr wzorkiem z filtru wybrane przez użytkownika.

Dla stylu Eksploratora okien dialogowych domyślne rozszerzenie może zmienić, jeśli użytkownik wybierze inny filtr. Jeśli użytkownik wybierze opcję Filtr, którego pierwszy deseń ma postać *.xxx (że. rozszerzenie nie zawiera symbolu wieloznacznego), okno dialogowe używa xxx jako domyślne rozszerzenie. Dzieje się tak tylko wtedy, gdy określone domyślne rozszerzenie członka lpstrDefExt struktury OPENFILENAME . Na przykład, jeśli użytkownik wybierze opcję „Source\0 *.C; *.CXX\0 "filtr, domyślne rozszerzenie zmiany do"C". Jednakże jeżeli miała zdefiniowany filtr jako "Source\0 *.C * \0 ", domyślne rozszerzenie nie ulegnie zmianie, ponieważ rozszerzenie zawiera symbol wieloznaczny.

Index