Filtre

Informațiile din această secțiune se aplică atât Explorer-stil vechi stil Deschidere și Salvare ca casetele de dialog și.

Ave?i posibilitatea să furniza?i numele fișierului filtre pentru a ajuta utilizatorul în limitarea fișierelor care afișează caseta de dialog. Un filtru de nume de fișier dintr-o pereche de null-terminated siruri de caractere, descrierea și un model, unul concatenat la alta. Caseta de dialog afișează descrierea pentru a lăsa utilizatorul alege ce filtru să utilizați; Acesta folosește model pentru a selecta fișiere pentru a afișa.

Pentru a specifica filtrele, setați membru lpstrFilter din structura OPENFILENAME pentru a indica spre o tampon care conține un array de perechi de șir de filtru. Șirul ultima în matrice trebuie urmată de un caracter nul suplimentare.

Un șir de model poate fi o combinație de caractere filename valabil și asteriscul luni(**). Asteriscul este un metacaracter care reprezintă orice combinație de caractere filename valabil. Caseta de dialog afișează numai acele fi?iere care corespund modelului. Pentru a specifica mai multe modele pentru aceeași descriere, trebuie să utilizați punct și virgulă (;) pentru a separa modele. Rețineți că caracterele spațiu în șirul model poate produce rezultate neașteptate.

Următorul fragment de cod specifică două filtre. Filtrul cu descrierea "Sursă" a două modele. Dacă utilizatorul selectează acest filtru, caseta de dialog afișează numai fișierele.C și.Extensii CXX.

OPENFILENAME ofn;       / / caseta de dialog comun structura

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

Membru nFilterIndex din structura OPENFILENAME specifică un index care indică care filtru din caseta de dialog utilizează inițial. Primul filtru în zona-tampon a indexul 1, 2 al doilea și așa mai departe. Dacă modificările utilizator filtrul utilizând caseta de dialog, membru nFilterIndex este setat la indicele de filtru selectat pe return.

Creați un filtru personalizat prin setarea membru lpstrCustomFilter la adresa o tampon care conține un singur filtru, și prin setarea membru nMaxCustFilter la dimensiunea tamponului, în caractere sau octeți. Caseta de dialog întotdeauna locuri filtru personalizat la începutul listei de filtre și, la întoarcerea, actualizează întotdeauna partea model de filtru cu model de filtru selectat de utilizator.

Pentru casete de dialog Explorer-stil, extensia implicită poate modifica dacă utilizatorul selectează un filtru diferite. Dacă utilizatorul selectează un filtru al cărui model prima este de forma *.XXX (care este, extinderea nu include un metacaracter), caseta de dialog utilizează xxx ca extensia implicită. Acest lucru se întâmplă numai dacă ați specificat un extensia implicită membru lpstrDefExt de structura OPENFILENAME . De exemplu, dacă utilizatorul selectează "Source\0 *.C; *.CXX\0 "filtru, extensia implicită se modifică la"C". Cu toate acestea, dacă au definit filtrul ca "Source\0 *.C * \0 ", extensia implicită nu s-ar schimba, deoarece extinderea include un metacaracter.

Index