Aracılığıyla paylaş


CFileDialog sınıfı

Dosya Aç veya dosya kaydetme işlemi için kullanılan ortak bir iletişim kutusu içinde saklar.

class CFileDialog : public CCommonDialog

Üyeler

dk77e5e7.collapse_all(tr-tr,VS.110).gifPublic kurucusu

Ad

Tanımlama

CFileDialog::CFileDialog

Oluşturan bir CFileDialog nesne.

dk77e5e7.collapse_all(tr-tr,VS.110).gifPublic yöntemler

Ad

Tanımlama

CFileDialog::AddCheckButton

İletişim kutusuna bir onay düğmesi ekler.

CFileDialog::AddComboBox

Birleşik giriş kutusu iletişim kutusuna ekler.

CFileDialog::AddControlItem

Kapsayıcı denetimi iletişim kutusunda bir öğe ekler.

CFileDialog::AddEditBox

Düzenleme kutusu iletişim kutusuna ekler.

CFileDialog::AddMenu

İletişim için bir menü ekler.

CFileDialog::AddPlace

Aşırı yüklenmiş.Bir klasör listesi öğelerini kaydetmek veya açmak için kullanıcı kullanılabilir basamak ekler.

CFileDialog::AddPushButton

Bir düğme iletişim kutusuna ekler.

CFileDialog::AddRadioButtonList

Seçenek düğmesi (radyo düğmesi olarak da bilinir) grubu iletişim kutusuna ekler.

CFileDialog::AddSeparator

Ayırıcı iletişim kutusuna ekler.

CFileDialog::AddText

Metin içeriği iletişim kutusuna ekler.

CFileDialog::ApplyOFNToShellDialog

Durum güncelleştirmeleri CFileDialog parametreleri ve depolanan bayrakları eşleştirmek için m_ofn üye değişkeni.

CFileDialog::DoModal

İletişim kutusu görüntülenir ve kullanıcının seçim yapmasına olanak tanır.

CFileDialog::EnableOpenDropDown

Üzerindeki açılan liste sağlayan açık veya kaydetmek iletişim kutusunda düğme.

CFileDialog::EndVisualGroup

Görsel bir gruba iletişim öğelerin toplama durur.

CFileDialog::GetCheckButtonState

Onay düğmesini (onay kutusu) iletişim kutusunda geçerli durumunu alır.

CFileDialog::GetControlItemState

İletişim kutusunda bulunan bir kapsayıcı denetimi içindeki bir öğeyi geçerli durumunu alır.

CFileDialog::GetControlState

Geçerli görünürlük alır ve belirli bir denetim durumları etkin.

CFileDialog::GetEditBoxText

Geçerli metin düzenleme kutusu denetimine alır.

CFileDialog::GetFileExt

Seçili dosya uzantısını döndürür.

CFileDialog::GetFileName

Seçili dosyanın dosya adını döndürür.

CFileDialog::GetFileTitle

Seçili dosyanın başlığını döndürür.

CFileDialog::GetFolderPath

Explorer stil için açık olan klasörün ya da dizinin yolunu alır açık veya Kaydet ortak iletişim kutusu.

CFileDialog::GetIFileDialogCustomize

İç com nesnesi için özelleştirilmiş bir alır CFileDialog nesne.

CFileDialog::GetIFileOpenDialog

İç com nesnesini getirir bir CFileDialog olarak kullanılan bir açık dosya iletişim kutusu.

CFileDialog::GetIFileSaveDialog

İç com nesnesini getirir bir CFileDialog olarak kullanılan bir kaydetmek dosya iletişim kutusu.

CFileDialog::GetNextPathName

Sonraki Seçilen dosyanın tam yolunu döndürür.

CFileDialog::GetOFN

Alır OPENFILENAME yapısını CFileDialog nesne.

CFileDialog::GetPathName

Seçili dosyanın tam yolunu döndürür.

CFileDialog::GetReadOnlyPref

Seçili dosyanın salt okunur durumunu döndürür.

CFileDialog::GetResult

Kullanıcı iletişim kutusunda yapılan seçime alır.

CFileDialog::GetResults

Birden çok seçime izin veren bir iletişim kutusunda kullanıcının seçimlerini alır.

CFileDialog::GetSelectedControlItem

İletişim kutusunda belirtilen kapsayıcı denetimleri belirli bir öğe alır.

CFileDialog::GetStartPosition

Dosya adı listesinde, ilk öğenin konumunu döndürür.

CFileDialog::HideControl

Belirtilen Denetim Gezgini stilinde gizler açık veya Kaydet ortak iletişim kutusu.

CFileDialog::IsPickFoldersMode

Belirler Klasör Seçici modunda geçerli iletişim.

CFileDialog::MakeProminent

Onu olacak şekilde yerler için eklenen diğer denetimleri denetim iletişim karşılaştırıldığında.

CFileDialog::RemoveControlItem

Kapsayıcı denetimi iletişim kutusunda bir öğeyi kaldırır.

CFileDialog::SetCheckButtonState

İletişim kutusunda bir onay düğmesini (onay kutusu) geçerli durumunu ayarlar.

CFileDialog::SetControlItemState

İletişim kutusunda bulunan bir kapsayıcı denetimindeki bir öğeyi geçerli durumunu ayarlar.

CFileDialog::SetControlItemText

Denetim öğesinin metni ayarlar.Örneğin, bir radyo düğmesi veya menü içindeki bir öğeyi eşlik eden metin.

CFileDialog::SetControlLabel

Düğme metni veya düzenleme kutusu etiketi bir denetimle ilişkilendirilmiş metni ayarlar.

CFileDialog::SetControlState

Ayarlar geçerli Görünürlük ve verilen denetimin durumlarını etkin.

CFileDialog::SetControlText

Belirtilen denetim metni bir Explorer stilini ayarlar açık veya Kaydet ortak iletişim kutusu.

CFileDialog::SetDefExt

Varsayılan dosya adı uzantısı Gezgini stili için ayarlar açık veya Kaydet ortak iletişim kutusu.

CFileDialog::SetEditBoxText

Geçerli metin düzenleme kutusu denetimini ayarlar.

CFileDialog::SetProperties

Kaydedilmekte madde için kullanılacak varsayılan değerlerini tanımlayan bir özellik deposu sağlar.

CFileDialog::SetSelectedControlItem

Seçenek düğmesi grubu veya birleşik giriş kutusu iletişim kutusunda bulunan belirli bir öğenin seçili durumunu ayarlar.

CFileDialog::SetTemplate

Ayarlar iletişim kutusu şablon için CFileDialog nesne.

CFileDialog::StartVisualGroup

Görsel bir grup iletişim kutusunda bildirir."Ekle" herhangi bir yöntem çağrıları sonraki öğeler bu gruba ekleyin.

CFileDialog::UpdateOFNFromShellDialog

Depolanan veri güncelleştirmeleri m_ofn üye değişkeni file iletişim kutusunda geçerli durumunu eşleştirmek için.

dk77e5e7.collapse_all(tr-tr,VS.110).gifKorumalı yöntemleri

Ad

Tanımlama

CFileDialog::OnButtonClicked

Düğme tıklatıldığında denir.

CFileDialog::OnCheckButtonToggled

Onay kutusu işaretli/işaretli olmadığında denir.

CFileDialog::OnControlActivating

Denetim etkin olduğunda denir.

CFileDialog::OnFileNameChange

İşleme WM_NOTIFY CDN_SELCHANGE ileti.

CFileDialog::OnFileNameOK

İletişim kutusuna girdiğiniz dosya adı doğrular.

CFileDialog::OnFolderChange

İşleme WM_NOTIFY CDN_FOLDERCHANGE ileti.

CFileDialog::OnInitDone

İşleme WM_NOTIFY CDN_INITDONE ileti.

CFileDialog::OnItemSelected

Kapsayıcı öğe seçildiğinde denir.

CFileDialog::OnLBSelChangedNotify

Dosya seçimini değiştirdiğinde özel eylemler gerçekleştirmenizi sağlar.

CFileDialog::OnShareViolation

Tutamaçları ihlalleri paylaşın.

CFileDialog::OnTypeChange

İşleme WM_NOTIFY CDN_TYPECHANGE ileti.

dk77e5e7.collapse_all(tr-tr,VS.110).gifOrtak veri üyeleri

Ad

Tanımlama

CFileDialog::m_ofn

Windows OPENFILENAME yapısı.Temel dosya iletişim kutusunu parametreleri erişim sağlar.

Notlar

Genel dosya iletişim kutularında Dosya Seçimi iletişim kutuları, örneğin, uygulamanıza olanak Open File ve Kaydet, Windows standartları ile tutarlı bir şekilde.

Kullanabileceğiniz CFileDialog olduğu gibi kurucu sağlanan veya kendi iletişim kutusunu sınıfından türetebilirsiniz CFileDialog ve gereksinimlerinize uygun biçimde bir kurucu yazar.Ten türetildiklerinden dolayı her iki durumda da, bu iletişim kutuları Standart mfc iletişim kutuları gibi davranır CCommonDialog sınıfı.CFileDialogcommdlg üzerinde dayanır.Windows'da bulunan dll dosyası.

Hem görünüm hem de işlevselliğini CFileDialog ile Windows Vista , Windows'un daha önceki sürümlerden farklıdır.Varsayılan CFileDialog otomatik olarak yeni kullanır Windows Vista bir program derlendiğinde if kod değişiklikleri ve Çalıştır altında olmadan stil Windows Vista.Kullanım bVistaStyle bu otomatik güncelleştirmeyi el ile geçersiz kılmak için yapıcı parametre.Otomatik güncelleştirme için özel iletişim kutuları istisnadır.Bunlar yeni stile dönüştürülür değil.Oluşturucu hakkında daha fazla bilgi için bkz: CFileDialog::CFileDialog.

[!NOT]

Denetim Kimliği sistem içinde farklı Windows Vista kullandığınızda Windows önceki sürümlerinden bir CFileDialog.Tüm başvuruları güncelleştirmeniz gerekir CFileDialog önce projenizi, Windows'un önceki bir sürümünden bağlantı noktası kod denetimleri.

Bazı CFileDialog altında yöntemleri desteklenmez Windows Vista.Yönteminin desteklenip desteklenmediğini öğrenmek için tek yöntem konusuna bakın.Buna ek olarak, aşağıdaki devralınmış işlevler altında desteklenmez Windows Vista:

Windows iletileri CFileDialog sınıf hangi işletim sistemine göre değişir.Örneğin, Windows xp desteklemediği CDialog::OnCancel ve CDialog::OnOK için CFileDialog sınıf.Ancak, Windows Vista bunları desteklemiyor.Oluşturulan farklı mesajlar ve içinde bunlar alınan sipariş hakkında daha fazla bilgi için bkz: CFileDialog örnek: günlüğü olay sırası.

Kullanmak için bir CFileDialog nesne, ilk nesneyi kullanarak oluşturduğunuz CFileDialog kurucusu.İletişim kutusu inşa sonra ayarlamak veya herhangi bir değer değiştirme CFileDialog::m_ofn değerleri veya iletişim kutusu denetimleri durumları yapısı.m_ofn Yapısı türü olan OPENFILENAME.Daha fazla bilgi için bkz: AÇIKDOSYAADI , yapı Windows SDK.

İletişim kutusu denetimleri başlatmak sonra call CFileDialog::DoModal yöntemi iletişim kutusunu görüntülemek için kutusunda yolu ve dosya adını yazabilmek için.DoModalKullanıcı (IDOK) Tamam veya iptal (IDCANCEL) düğmesi tıklatıldığında döndürür.DoModal IDOK, döner birini kullanın CFileDialog bilgi almak için ortak üye işlevleri koymak kullanıcı tarafından.

[!NOT]

Altında Windows Vista, birden çok çağrılar IFileDialog::SetFileTypes bir hata neden olur.İkinci çağrı SetFileTypes herhangi bir örneği için bir CFileDialog döner E_UNEXPECTED , Windows Vista.Bazı CFileDialog yöntemi işlev çağrısı SetFileTypes.Örneğin, iki çağrılarını için CFileDialog::DoModal aynı örneği için bir CFileDialog oluşturduğu izin.

CFileDialogözel işleme paylaşım ihlalleri, dosya adı doğrulamasını ve liste kutusunda değişiklik bildirimi yapmanıza olanak sağlayan birkaç korumalı üyeler içerir.Çoğu uygulama varsayılan işleme otomatik olarak gerçekleştirildiği için kullanmak zorunda değilsiniz geri arama işlevleri bu korumalı üyeleridir.Bu işlevler için ileti eşleme girdilerini standart sanal işlevler, çünkü bunlar gerekli değildir.

Windows'un kullanabileceği CommDlgExtendedError işlevi bir hata iletişim kutusu başlatma sırasında oluşup oluşmadığını belirleyin ve hata hakkında daha fazla bilgi için.

Etme işleminin CFileDialog nesneleri otomatik olarak gerçekleştirilir.Çağırmak zorunda değilsiniz CDialog::EndDialog.

Birden çok dosya seçmesini sağlamak için OFN_ALLOWMULTISELECT çağırmadan önce bayrak DoModal.Kendi dosya adı arabellek döndürülen birden çok dosya adlarının listesini uyum sağlamanız gerekir.Bunu değiştirerek m_ofn.lpstrFile , oluşturduktan sonra arabellek için bir işaretçi ile size, tahsis CFileDialog, ama çağırmadan önce DoModal.

Ayrıca, ayarlamalısınız m_ofn.nMaxFile tarafından işaret arabellekte karakter sayısını kullanarak m_ofn.lpstrFile.En fazla sayısı için seçilen dosyaları ayarlarsanız, n, gerekli arabellek boyutu n * (_MAX_PATH + 1) + 1.Arabellek döndürülen ilk öğe burada dosya seçildi klasörün yoludur.İçin Windows Vista-stil iletişim kutuları, dizin ve dosya adı dizesi null sonlandırılmış, son dosya adından sonra fazladan bir boş karakter ile.Bu biçim Gezgini Stili iletişim kutuları, boşluklar içeren uzun dosya adlarına dönmek etkinleştirir.Eski stil iletişim kutuları için dizin ve dosya adı dizesi boşluklarla ayrılır ve dosya adları için kısa dosya adları boşlukla işlevini kullanır.

Aşağıdaki örnek bir arabellek almak ve birden çok dosya adlarını görüntülemek için nasıl kullanılacağını gösterir.

#define MAX_CFileDialog_FILE_COUNT 99
#define FILE_LIST_BUFFER_SIZE ((MAX_CFileDialog_FILE_COUNT * (MAX_PATH + 1)) + 1)

CString fileName;
wchar_t* p = fileName.GetBuffer( FILE_LIST_BUFFER_SIZE );
CFileDialog dlgFile(TRUE);
OPENFILENAME& ofn = dlgFile.GetOFN( );
ofn.Flags |= OFN_ALLOWMULTISELECT;
ofn.lpstrFile = p;
ofn.nMaxFile = FILE_LIST_BUFFER_SIZE;

dlgFile.DoModal();
fileName.ReleaseBuffer();

wchar_t* pBufEnd = p + FILE_LIST_BUFFER_SIZE - 2;
wchar_t* start = p;
while( ( p < pBufEnd ) && ( *p ) )
  p++;
if( p > start )
{
  _tprintf(_T("Path to folder where files were selected:  %s\r\n\r\n"), start );
  p++;

  int fileCount = 1;
  while( ( p < pBufEnd ) && ( *p ) )
  {
    start = p;
    while( ( p < pBufEnd ) && ( *p ) )
      p++;
    if( p > start )
      _tprintf(_T("%2d. %s\r\n"), fileCount, start );
    p++;
    fileCount++;
  }
}

Birden çok dosya adı seçerek kullanıcı yanıtı arabellek boyutunu değiştirmek için yeni bir sınıf türetin CFileDialog ve geçersiz kılma CFileDialog::OnFileNameChange yöntem.

Yeni bir sınıf türetin, CFileDialog, tüm iletileri işlemek için bir ileti eşleme kullanabilirsiniz.Varsayılan ileti işleme genişletmek için bir sınıf türetin CFileDialogbir ileti eşleme yeni sınıfa ekleyin ve yeni iletiler için üye işlevleri sağlar.Özelleştir iletişim kutusu için bir kanca işlevi sağlamak zorunda değildir.

Özelleştir iletişim kutusu için bir sınıf türetin CFileDialog, özel iletişim kutusu şablon sağlamak ve genişletilmiş denetimlerinden bildirim iletileri işlemek için bir ileti eşleme ekleyin.İşlenmemiş olan tüm iletiler için temel sınıf geçirin.Kanca işlev özelleştirmek zorunda değildir.

Kullanırken Windows Vista stilini CFileDialog, ileti haritalar ve iletişim kutusunda Şablonlar'ı kullanamazsınız.Bunun yerine benzer bir işlevsellik için com arabirimleri kullanmanız gerekir.

CFileDialog'nin nasıl kullanıldığı hakkında daha fazla bilgi için, bkz. Ortak iletişim sınıfları.

Devralma hiyerarşisi

CObject

CCmdTarget

CWnd'den

CDialog

CCommonDialog

CFileDialog

Gereksinimler

**Başlık:**afxdlgs.h

Ayrıca bkz.

Başvuru

CCommonDialog sınıfı

Hiyerarşi grafik