Bu bölümdeki bilgiler hem Explorer stili hem de eski stil Aç ve farklı Kaydet iletişim kutuları için geçerlidir.
Kullanıcı iletişim kutusunda görüntülenen dosya adlarını sınırlama yardımcı olmak için dosya filtreleri sağlayabilir. Bir dosya filtresi biten dizeleri, bir açıklama ve bir desen, bir diğer birleştirilmiş bir çift oluşur. İletişim kutusunu kullanmak için hangi filtreyi seçin kullanıcı için açıklamayı görüntüler; ve görüntülemek için dosyaları seçmek için desen kullanır.
Filtreleri belirtmek için filtre dizesi çiftleri dizisi içeren bir arabelleğe noktasına lpstrFilter üyesi OPENDOSYAADI yapısını ayarlayın. Dizideki son dizenin tarafından ek bir null karakter gelmelidir.
Bir desen dizesi geçerli dosya adı karakterleri ve yıldız(*) birleşimi olabilir. Yıldız, geçerli dosya adı karakterleri herhangi bir bileşimini temsil eden bir joker olduğunu. Desene uyan dosyaları iletişim kutusunu görüntüler. Aynı açıklama birden çok desen belirtmek için desen ayırmak için noktalı virgül (;) kullanmanız gerekir. Not desen dizesi boşluk karakterleri beklenmeyen sonuçlara neden.
Aşağıdaki kod bölümü, iki filtre belirtir. "Kaynak" açıklaması ile filtre iki kalıpları vardır. Bu filtre kullanıcının seçtiği iletişim kutusu olan dosyaları görüntüler.C ve.cxx uzantıları.
OPENDOSYAADI ofn; / / ortak iletişim kutusu yapısı
ofn.lpstrFilter "Source\0. =C; *.CXX\0All\0*.*\0 "
ofn.nFilterIndex = 1
OPENDOSYAADI yapısı nFilterIndex üyesi olan filtre iletişim kutusunda başlangıçta kullanır gösteren dizin belirtir. İlk filtre arabelleği dizin 1, ikinci 2 vb. vardır. Filtre iletişim kutusunda, nFilterIndex üye'ı kullanırken Seçilen filtrenin üzerinde dizin ayarlanır kullanıcı değişiklikleri iade.
LpstrCustomFilter üye içeren tek bir filtre Arabellek adresi ayarlayarak ve nMaxCustFilter üye karakterleri veya bayt arabellek boyutu ayarı özel bir filtre oluşturabilirsiniz. İletişim kutusunu her zaman filtreleri listesini başında özel filtre yerleştirir ve getirisi, kullanıcı tarafından seçilen filtresinin dışında Desen filtresi desen bölümü her zaman güncelleştirir.
Farklı bir filtre kullanıcının seçtiği Explorer tarzı iletişim kutuları için varsayılan uzantısı değişebilir. Eğer kullanıcının seçtiği olan ilk model olduğu şeklinde bir filtre *.xxx (yani uzantısı bir joker karakter içermez), iletişim kutusu xxx varsayılan uzantıyı kullanır. Bu, yalnızca bir varsayılan uzantısı OPENDOSYAADI yapısının lpstrDefExt üyesinin belirtilen oluşur. Örneğin, kullanıcı "Source\0 *. seçerC; *.CXX\0 "filtresi, varsayılan uzantı değişir"c". Ancak, eğer tanımlamış olduğunuz filtre olarak "Source\0 *.C * \0 ", varsayılan uzantıyı uzantı joker karakter içerdiğinden değiştirecek değil.