Dosya ve dizinleri

Bu bölümdeki bilgiler hem Explorer stili hem de eski stil ve farklı Kaydet iletişim kutuları için geçerlidir.

GetOpenFileName ya da GetSaveFileName işlevler çağrılmadan önce OPENDOSYAADI yapısı lpstrFile üyesi dosya almak için arabelleğe göstermelidir. NMaxFile üye lpstrFile arabellek boyutu, bayt (ANSI sürümü) veya 16 bitlik karakterler (Unicode sürümü) belirtmelisiniz.

Kullanıcı bir dosya adı belirtir ve Tamam düğmesini tıklattığında, iletişim kutusunu, Seçili sürücü, dizin ve dosya adı lpstrFile arabelleğine kopyalar. İşlevi de nFileOffset ve nFileExtension üyeleri bayt (ANSI sürümü) ya da 16 bitlik karakterler (Unicode sürümü), dosya adı ve dosya adı uzantısı için arabellek başlangıcını uzaklıklar sırasıyla ayarlar.

Sadece almak için dosya adını ve uzantısını ayarlamak bir arabelleğe gelin ve boyutu, bayt (ANSI sürümü) veya 16 bitlik karakterler (Unicode sürümü) için nMaxFileTitle üye lpstrFileTitle üye tampon belleği. Alternatif olarak, seçilen dosya görünen adını almak için GetFileTitle işlevine çağrı içinde lpstrFile arabellek geçebilir. Ancak, sadece bu dosya adlarını görüntülemek için kullanıcının tercihi ise GetFileTitle döndüren dosya adı uzantısı içerir unutmayın.

İletişim kutusu geçerli dizini arama işlemi için hangi dosya ve dizinleri görüntülemek başlangıç dizini kullanır. Kullanım GetCurrentDirectory ya SetCurrentDirectory işlevleri veya geçerli dizininizi değiştirin. Geçerli dizininiz değiştirmeden farklı bir başlangıç dizini belirtmek için lpstrInitialDir üye bir dizinin adını belirtmek için kullanın. Kullanıcı farklı bir sürücü veya dizin seçtiğinde iletişim kutusunu otomatik olarak, geçerli dizini değiştirir. İletişim kutusu geçerli dizininizi değiştirmelerini önlemek için OFN_NOCHANGEDIR bayrağını ayarlayın. Bu bayrak kullanıcı dizinleri bir dosyayı bulmak için değiştirmesini engellemez.

Varsayılan dosya adı uzantısı belirtmek için lpstrDefExt üye kullanın. Kullanıcı bir uzantısı olmayan bir dosya adı belirtiyorsa, iletişim kutusu, varsayılan uzantıyı ekler. Varsayılan uzantıyı belirtin ve kullanıcı farklı bir uzantıya sahip bir dosya adı belirtiyorsa, iletişim kutusunun Ayarlar OFN_EXTENSIONDIFFERENT bayrak.

Dizin birden fazla dosya seçmek, OFN_ALLOWMULTISELECT bayrağı ayarlanmış kullanıcı izin vermek. Eski uygulamalarla uyumluluk için birden çok seçimi iletişim kutusu varsayılan kullanır eski stil kullanıcı arabirimi. Bir Explorer tarzı birden çok seçimi iletişim kutusunu görüntülemek için de ofn_explorer bayrağı ayarlamalısınız.

Kullanıcı birden fazla dosya seçerse, seçilen dosyaların dosya adlarını tarafından geçerli dizin yolunu takip lpstrFile üye tarafından işaret arabellek döndürür. İlk dosya ofset nFileOffset üyesidir ve nFileExtension üye kullanılmaz. Aşağıdaki tabloda, birden çok dosya adlarını dönen Explorer tarzı ve eski stil iletişim kutuları arasındaki fark açıklanmaktadır.

İletişim kutusu stili Açıklama
Explorer tarzı iletişim kutuları Dizin ve dosya adını, sonra son dosya adını ek bir NULL karakteriyle ayrılmış boş dizelerdir. Bu biçimi boşluklar uzun dosya adlarını dönmek Explorer tarzında diyaloglar olanak tanır.
Eski stil iletişim kutuları Dizin ve dosya adı dizeleri boşlukla ayrılır. 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.

Index