OPENDOSYAADI yapısı, bir Aç veya Kaydetolarak ortak iletişim kutusu başlatmak için GetOpenFileName ve GetSaveFileName işlevleri kullanarak bilgileri içerir. Kullanıcı iletişim kutusunu kapattıktan sonra sistem içinde bu yapı kullanıcının seçimi hakkında bilgi döndürür .
typedef struct tagOFN {/ / ofn dword lStructSize; hwnd hwndOwner; HINSTANCE HINSTANCE; lpctstr lpstrFilter; lptstr lpstrCustomFilter; dword nMaxCustFilter; dword nFilterIndex; lptstr lpstrFile; dword nMaxFile; lptstr lpstrFileTitle; dword nMaxFileTitle; lpctstr lpstrInitialDir; lpctstr lpstrTitle; dword Flags; word nFileOffset; word nFileExtension; lpctstr lpstrDefExt; dword lCustData; lpofnhookproc lpfnHook; lpctstr lpTemplateName; } OPENDOSYAADI
Ofn_explorer bayrağı ayarlanmışsa, Sistem belirtilen şablon varsayılan Explorer Stili iletişim kutusunda alt bir iletişim kutusu oluşturmak için kullanır. ofn_explorer bayrağı ayarlanmazsa, sistem varsayılan iletişim kutusu yerine bir eski stil iletişim kutusu oluşturmak için şablonu kullanır.
Her çifti ilk dizeyi (örneğin, "metin dosyaları") filtresi bir görünen dize ve filtre modeli ikinci dize belirtir (örneğin, "*.TXT"). Bir tek görünen dize için birden çok filtre desen belirtmek için desenleri ayırmak için noktalı virgül kullanın (örneğin, "*.TXT; *.DOKTOR; *.BAK"). Bir desen dizesi geçerli dosya adı karakterleri ve yıldız(*) joker karakter birleşimi olabilir. Desen dizesi boşluk eklemeyin.
Sistem, filtrelerin sırasını değiştirmez. LpstrFilter içinde belirtilen sırada Dosyatürü açılan kutuda onları görüntüler .
LpstrFilter null ise, herhangi bir filtre iletişim kutusunu görüntüleme.
Bu üye null ise, iletişim kutusunun kullanıcı tanımlı filtre desenleri korumaz.
Bu üye null değilse, nMaxCustFilter üye değeri lpstrCustomFilter arabellek boyutu, bayt (ANSI sürümü) veya 16 bitlik karakterler (Unicode sürümü) belirtmelisiniz.
NFilterIndex sıfır lpstrCustomFilter null ise, sistem lpstrFilter arabellek ilk filtresini kullanır. Tüm üç üye, sıfır veya boş ise, sistem herhangi bir filtre kullanmayan ve dosyalar iletişim kutusunda Dosya liste denetiminde göstermez.
OFN_ALLOWMULTISELECT bayrağı ayarlandı ve birden fazla dosya kullanıcının seçtiği, arabellek geçerli dizin Seçili dosyaların dosya adlarını tarafından takip içerir. Explorer tarzı iletişim kutuları için dizin ve dosya adını, sonra son dosya adını ek bir NULL karakteriyle ayrılmış boş dizelerdir. Eski stil iletişim kutularında, boşlukla dizeleridir ve boşluk içeren dosya adları için kısa dosya adları işlevini kullanır. Sen-ebilmek kullanma arasında uzun ve kısa dosya adlarını dönüştürmek için FindFirstFile işlevi.
Arabellek çok küçük olması durumunda işlev false döner ve fnerr_buffertoosmall CommDlgExtendedError işlevini verir. Bu durumda, gerekli boyutu, bayt veya karakter ilk iki baytı lpstrFile arabellek içeriyor.
Windows NT 5.0 ve üstü; Windows 98 ve üstü:
LpstrInitalDir null olur ve geçerli dizini belirtilen filtre türü dosyaları içeriyorsa, başlangıç dizini geçerli dizindir.
LpstrInitalDir null ve geçerli dizindeki tüm dosyaları belirtilen filtre türü içermiyor, başlangıç dizini geçerli kullanıcının kişisel dosyaları dizinidir. Geçerli kullanıcının kişisel dosyaları dizinini başlangıç dizini olarak belirtmek için set lpstrInitialDir çağrılarak döndürülen yola SHGetSpecialFolderLocation fonksiyonu ile CSIDL_PERSONAL bayrağı.
Windows ve Windows NT'nin önceki sürümleri:
LpstrInitalDir null ise, başlangıç dizini geçerli dizindir.
|Bayrak||Anlamı|
|OFN_ALLOWMULTISELECT|
|Dosyaadı liste kutusunda birden çok seçime izin verdiğini belirtir. Ayrıca ofn_explorer bayrağı ayarlarsanız, iletişim kutusu Explorer tarzı kullanıcı arabirimini kullanır; Aksi takdirde eski stil kullanıcı arabirimini kullanır .


Kullanıcı birden fazla dosya seçerse, seçilen dosyaların dosya adlarını tarafından geçerli dizin yolunu takip lpstrFile arabellek döndürür. NFileOffset üye olan uzaklık, bayt veya karakter, ilk dosya ve nFileExtension üye kullanılmaz. Explorer tarzı iletişim kutuları için dizin ve dosya adını, sonra son dosya adını ek bir NULL karakteriyle ayrılmış boş dizelerdir. Bu biçim, uzun dosya adlarını boşluk dönmek Explorer tarzında diyaloglar sağlar. Eski stil iletişim kutularında, dizin ve dosya adı dizeleri boşlukla ayrılır ve boşluk içeren dosya adları için kısa dosya adları işlevini kullanır. Sen-ebilmek kullanma arasında uzun ve kısa dosya adlarını dönüştürmek için FindFirstFile işlevi.
Eski stil iletişim kutusu için özel bir şablon belirtirseniz, dosya adı liste kutusunda tanımı lbs_extendedsel değerini içermelidir.
|OFN_CREATEPROMPT|
|Kullanıcı varolmayan bir dosyayı belirtir, bu bayrak kullanıcıdan dosyayı oluşturmak izin iletişim kutusunu neden olur. Dosyayı oluşturmak kullanıcı seçerse, iletişim kutusunu kapatır ve belirtilen ad işlevini verir; Aksi durumda, iletişim kutusu açık kalır. OFN_ALLOWMULTISELECT bayrak bu bayrağı kullanırsanız, iletişim kutusu yalnızca bir varolmayan dosya belirtmek için kullanıcı sağlar.|
|OFN_ENABLEHOOK|
|Belirlenen lpfnHook üyesi kanca işlevi sağlar.|
|OFN_ENABLESIZING|
|Windows NT 5.0, Windows 98:Fare veya klavyeyi kullanarak yeniden boyutlandırılmaya Explorer Stili iletişim kutusu sağlar. Varsayılan olarak, bu bayrağı ayarlanmış olursa olsun yeniden boyutlandırılmaya iletişim kutusu için Explorer tarzı Açık veolarak Kaydetiletişim kutuları izin. Bu bayrak, yalnızca bir kanca işlemi veya özel bir şablon sağlamak gereklidir. Eski stil iletişim kutusunu yeniden boyutlandırarak izin vermez .|
|OFN_ENABLETEMPLATE|
|LpTemplateName üye HINSTANCE üye tarafından tanımlanan modülünde bir iletişim şablon kaynağının işaret eden gösterir.


Ofn_explorer bayrağı ayarlanmışsa, Sistem belirtilen şablon varsayılan Explorer Stili iletişim kutusunda alt bir iletişim kutusu oluşturmak için kullanır. ofn_explorer bayrağı ayarlanmazsa, sistem varsayılan iletişim kutusu yerine bir eski stil iletişim kutusu oluşturmak için şablonu kullanır.
|OFN_ENABLETEMPLATEHANDLE|
|HINSTANCE üye önceden yüklenmiş iletişim kutusunda şablon içeren veri bloğu tanımlar gösterir. Bu seçenek belirtilmezse sistem, lpTemplateName yoksayar.


Ofn_explorer bayrağı ayarlanmışsa, Sistem belirtilen şablon varsayılan Explorer Stili iletişim kutusunda alt bir iletişim kutusu oluşturmak için kullanır. ofn_explorer bayrağı ayarlanmazsa, sistem varsayılan iletişim kutusu yerine bir eski stil iletişim kutusu oluşturmak için şablonu kullanır.
|OFN_EXPLORER|
|Aç veya Kaydetgibi iletişim kutusunda yapılan tüm özelleştirmeler yeni Explorer stili özelleştirme yöntemleri kullandığını gösterir. Daha fazla bilgi için bkz: Explorer tarzı kanca prosedürleri ve Explorer tarzı özel şablonlar .


Varsayılan olarak, bu bayrağı ayarlanmış olup olmadığını bakmaksızın Explorer tarzı kullanıcı arabirimi için Açık veolarak Kaydetiletişim kutularını kullanın. Bu bayrak, yalnızca bir kanca işlemi veya özel bir şablon sağlamak veya OFN_ALLOWMULTISELECT bayrağı gereklidir .
Eğer eski stil kullanıcı arabirimi, ofn_explorer bayrağını kullanmazsanız ve yerine eski stil şablon sağlamak veya yordam kanca. Eski stil istiyorum ama değil özel bir şablon ihtiyacınız veya yordam kanca, sadece her zaman yanlış'ı verir bir kanca işlemi sağlar.
|OFN_EXTENSIONDIFFERENT|
|Kullanıcı lpstrDefExttarafından belirtilen uzantılı farklı bir dosya adı uzantısı yazılan belirtir. LpstrDefExt null ise, bu bayrak işlevini kullanmaz.|
|OFN_FILEMUSTEXIST|
|Kullanıcı Dosya adı girişi alanına yalnızca varolan dosya adlarını yazabilirsiniz belirtir. Bu bayrak belirtilir ve kullanıcı geçersiz bir ad girer, iletişim kutusu yordamı bir ileti kutusunda bir uyarı görüntüler. Bu bayrak belirtilmezse, OFN_PATHMUSTEXIST bayrağı da kullanılır.|
|OFN_HIDEREADONLY|
|Okumakyalnızca onay kutusunu gizler .|
|OFN_LONGNAMES|
|Eski stil iletişim kutuları için bu bayrak, uzun dosya adlarını kullanmak için iletişim kutusunu neden olur. Bu bayrak belirtilmezse, veya OFN_ALLOWMULTISELECT bayrak da ayarlanırsa, eski stil iletişim kutularını kısa dosya adlarını (8.3 biçiminde) boşluk içeren dosya adları kullanın.


Explorer tarzı iletişim kutularında Bu bayrak yoksay ve her zaman uzun dosya adlarını görüntüleme.
|OFN_NOCHANGEDIR|
|Kullanıcı dizin dosyaları ararken değiştirdiyseniz geçerli dizini özgün değerine geri yükler.|
|OFN_NODEREFERENCELINKS|
|Yolunu ve dosya adını seçili kısayolu dönmek için iletişim kutusunu yönlendirir (.lnk) dosyası. Bu değer verilmezse iletişim kutusunu başvurulan dosya adını ve yolunu kısayol döndürür|
|OFN_NOLONGNAMES|
|Eski stil iletişim kutuları için bu bayrak kısa dosya adlarını (8.3 biçiminde) kullanmak için iletişim kutusunu neden.


Explorer tarzı iletişim kutularında Bu bayrak yoksay ve her zaman uzun dosya adlarını görüntüleme.
|OFN_NONETWORKBUTTON|
|Gizler ve Ağ düğmesini devre dışı bırakır.|
|OFN_NOREADONLYRETURN|
|Döndürülen dosya okuma yalnızca seçili kutuyu yok ve yazma korumalı bir dizinde değil belirtir.|
|OFN_NOTESTFILECREATE|
|İletişim kutusu kapatılmadan önce dosya oluşturulur belirtir. Bu bayrak olmalıdır uygulama oluştur-nonmodify ağ paylaşımında dosyayı kaydeder, belirtilen. Ne zaman bir uygulama, Kütüphane, yazma korumasını, tam bir disk, bir açık sürücü kapağı veya ağ koruması için denetlemez bu bayrağı belirtir. Kapalı bir kez dosya açılamaz çünkü bu bayrak kullanan uygulamaların dikkatlice dosya işlemleri gerçekleştirmelisiniz.|
|OFN_NOVALIDATE|
|Ortak iletişim kutularındaki döndürülen dosya adında geçersiz karakterler izin belirtir. Genellikle, çağıran uygulama FILEOKSTRING iletisini kullanarak dosya denetleyen bir kanca işlemi kullanır. Düzenleme denetimi metin kutusu boş veya hiçbir şey ama boşluk içeriyorsa, dosya ve dizinlerin listesi güncelleştirilir. Düzenleme denetimine metin kutusuna başka bir şey varsa, nFileOffset ve nFileExtension metin ayrıştırma tarafından oluşturulan değerler ayarlanır. Varsayılan uzantısı metne eklenir, ne de metin lpstrFileTitle tarafından belirtilen arabelleğe kopyalanır.|
|NFileOffset tarafından belirtilen değeri sıfırdan küçükse, dosya adı geçersiz. Aksi takdirde, dosya adının geçerli olduğundan ve OFN_NOVALIDATE bayrak belirtilmezse gibi nFileExtension ve nFileOffset kullanılabilir.|
|OFN_OVERWRITEPROMPT|
|Seçili dosya zaten varsa, bir ileti kutusu oluşturmak farklı Kaydetiletişim kutusunu neden olur. Kullanıcı bir dosyanın üzerine olup olmadığını onaylamak gerekir .|
|OFN_PATHMUSTEXIST|
|Kullanıcı yalnızca geçerli yolları ve dosya adlarını yazabilirsiniz belirtir. Bu bayrak kullanılır ve kullanıcı geçersiz bir yol ve dosya adı Dosya adı girişi alanına yazar, bir ileti kutusunda bir uyarı iletişim kutusu işlevi görüntüler.|
|OFN_READONLY|
|Okumakyalnızca iletişim kutusu oluşturulduğunda başlangıçta kontrol edilmesi için onay kutusunu neden olur. İletişim kutusu kapatıldığında bu bayrak okumayalnızca onay kutusunun durumunu gösterir. .|
|OFN_SHAREAWARE|
|Eğer çağrı belirtir OpenFile işlevi başarısız bir ağ paylaşım ihlali nedeniyle, hata yoksayılır ve iletişim kutusunda seçili dosya adını döndürür.


Bu bayrağı ayarlanmazsa, kullanıcı tarafından belirtilen dosya adı bir ağ paylaşım ihlali oluşur, kanca işlemi iletişim kutusunu bildirir. ofn_explorer bayrağı ayarlarsanız, iletişim kutusu için kanca işlemi CDN_SHAREVIOLATION iletisi gönderir. İletişim kutusunu ofn_explorer ayarlamazsanız, kancası yordamı SHAREVISTRING kayıtlı mesaj gönderir.
|OFN_SHOWHELP|
|Yardım düğmesini görüntülemek için iletişim kutusunu neden olur. HwndOwner üye HELPMSGSTRING almak için pencereyi kayıtlı kullanıcı Yardım düğmesini tıklattığında iletişim kutusunu gönderdiği iletileri belirtmeniz gerekir.


Kullanıcı Yardım düğmesini tıklattığında bir Explorer Stili iletişim kutusunu, kanca işlemi için bir cdn_help bildirim iletisi gönderir.
Kullanıcı birden fazla dosya seçerse, ilk dosya ofset nFileOffset olduğunu.
Ofn_explorer bayrağı bayrak üyesinin ayarlanmazsa, lpfnHook iletişim kutusu amaçlanan iletileri alır bir OFNHookProcOldStyle kanca işlemi için bir işaretçidir. Kanca işlemi için varsayılan iletişim kutusunu yordamı ya da atmak için doğru mesajı bir mesaj geçmek yanlış döndürür.
Ofn_explorer ayarlı ise, lpfnHook bir OFNHookProc kanca işlemi için bir işaretçi iş. Kanca işlemi iletişim kutusundan gönderilen bildirim iletilerini alır. Kanca işlemi de çocuk iletişim şablon belirterek tanımladığınız herhangi bir ek denetimler için iletileri alır. Kanca işlemi için varsayılan iletişim kutusundaki standart denetimleri amaçlanan iletileri almaz.
nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Sürüm 1.0 veya daha ilerisini gerektirir.
Header:Commdlg.h ilan etti.
Unicode:Unicode ve ANSI yapılar tanımlanan.
Ortak iletişim kutusuna kitaplığın genel bakış, ortak iletişim kutusu yapıları, GetOpenFileName, GetSaveFileName, SHGetSpecialFolderLocation
Index