Aracılığıyla paylaş


CFileDialog Sınıfı

Dosya açma veya dosya kaydetme işlemleri için kullanılan ortak iletişim kutusunu kapsüller.

Sözdizimi

class CFileDialog : public CCommonDialog

Üyeler

Ortak Oluşturucular

Ad Tanım
CFileDialog::CFileDialog Bir CFileDialog nesne oluşturur.

Genel Yöntemler

Ad Tanım
CFileDialog::AddCheckButton İletişim kutusuna bir onay düğmesi ekler.
CFileDialog::AddComboBox İletişim kutusuna birleşik giriş kutusu ekler.
CFileDialog::AddControlItem İletişim kutusundaki kapsayıcı denetimine öğe ekler.
CFileDialog::AddEditBox İletişim kutusuna bir düzenleme kutusu ekler.
CFileDialog::AddMenu İletişim kutusuna bir menü ekler.
CFileDialog::AddPlace Aşırı yüklendi. Kullanıcının öğeleri açması veya kaydetmesi için kullanılabilecek yerler listesine bir klasör ekler.
CFileDialog::AddPushButton İletişim kutusuna bir düğme ekler.
CFileDialog::AddRadioButtonList İletişim kutusuna bir seçenek düğmesi (radyo düğmesi olarak da bilinir) grubu ekler.
CFileDialog::AddSeparator İletişim kutusuna bir ayırıcı ekler.
CFileDialog::AddText İletişim kutusuna metin içeriği ekler.
CFileDialog::ApplyOFNToShellDialog öğesinin CFileDialog durumunu üye değişkeninde m_ofn depolanan parametreler ve bayraklarla eşleşecek şekilde Güncelleştirmeler.
CFileDialog::D oModal İletişim kutusunu görüntüler ve kullanıcının seçim yapmasını sağlar.
CFileDialog::EnableOpenDropDown İletişim kutusundaki Aç veya Kaydet düğmesinde açılan listeyi etkinleştirir.
CFileDialog::EndVisualGroup İletişim kutusundaki bir görsel grubuna öğe eklemeyi durdurur.
CFileDialog::GetCheckButtonState İletişim kutusundaki onay düğmesinin (onay kutusu) geçerli durumunu alır.
CFileDialog::GetControlItemState İletişim kutusunda bulunan kapsayıcı denetimindeki bir öğenin geçerli durumunu alır.
CFileDialog::GetControlState Belirli bir denetimin geçerli görünürlüğünü ve etkin durumlarını alır.
CFileDialog::GetEditBoxText Düzenleme kutusu denetimindeki geçerli metni alır.
CFileDialog::GetFileExt Seçili dosyanın 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 Gezgin stilinde bir Ortak Aç veya Farklı Kaydet iletişim kutusu için açık durumdaki klasörün veya dizinin yolunu alır.
CFileDialog::GetIFileDialogCustomize Özelleştirilmiş CFileDialog bir nesne için iç COM nesnesini alır.
CFileDialog::GetIFileOpenDialog Dosya aç iletişim kutusu olarak kullanılan bir CFileDialog için iç COM nesnesini alır.
CFileDialog::GetIFileSaveDialog Dosyayı kaydet iletişim kutusu olarak kullanılan bir CFileDialog için iç COM nesnesini alır.
CFileDialog::GetNextPathName Bir sonraki seçili dosyanın tam yolunu döndürür.
CFileDialog::GetOFN Nesnesinin OPENFILENAME yapısını CFileDialog alır.
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ının iletişim kutusunda yaptığı seçimi 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 kutusundaki belirtilen kapsayıcı denetimlerinden belirli bir öğeyi alır.
CFileDialog::GetStartPosition Dosya adı listesinin ilk öğesinin konumunu döndürür.
CFileDialog::HideControl Gezgin stilinde bir Ortak Aç veya Farklı Kaydet iletişim kutusunda belirtilen denetimi gizler .
CFileDialog::IsPickFoldersMode Geçerli iletişim kutusunun klasör seçici modunda olup olmadığını belirler.
CFileDialog::MakeProminent İletişim kutusuna, eklenen diğer denetimlerle karşılaştırıldığında öne çıkacak şekilde bir denetim yerleştirir.
CFileDialog::RemoveControlItem İletişim kutusundaki kapsayıcı denetiminden bir öğeyi kaldırır.
CFileDialog::SetCheckButtonState İletişim kutusundaki onay düğmesinin (onay kutusu) geçerli durumunu ayarlar.
CFileDialog::SetControlItemState İletişim kutusunda bulunan kapsayıcı denetimindeki bir öğenin geçerli durumunu ayarlar.
CFileDialog::SetControlItemText Denetim öğesinin metnini ayarlar. Örneğin, bir radyo düğmesine veya menüdeki bir öğeye eşlik eden metin.
CFileDialog::SetControlLabel Düğme metni veya düzenleme kutusu etiketi gibi bir denetimle ilişkili metni ayarlar.
CFileDialog::SetControlState Belirli bir denetimin geçerli görünürlüğünü ve etkin durumlarını ayarlar.
CFileDialog::SetControlText Gezgin stilinde bir Ortak Aç veya Farklı Kaydet iletişim kutusunda belirtilen denetimin metnini ayarlar.
CFileDialog::SetDefExt Gezgin stilinde Ortak Aç veya Farklı Kaydet iletişim kutusu için varsayılan dosya adı uzantısını ayarlar.
CFileDialog::SetEditBoxText Düzenleme kutusu denetimindeki geçerli metni ayarlar.
CFileDialog::SetProperties Kaydedilen öğe için kullanılacak varsayılan değerleri tanımlayan bir özellik deposu sağlar.
CFileDialog::SetSelectedControlItem Bir seçenek düğmesi grubundaki veya iletişim kutusunda bulunan birleşik giriş kutusundaki belirli bir öğenin seçili durumunu ayarlar.
CFileDialog::SetTemplate Nesne için CFileDialog iletişim kutusu şablonunu ayarlar.
CFileDialog::StartVisualGroup İletişim kutusunda bir görsel grubu bildirir. Herhangi bir "add" yöntemine yapılan sonraki çağrılar bu öğeleri bu gruba ekler.
CFileDialog::UpdateOFNFromShellDialog Üye değişkeninde m_ofn depolanan verileri dosya iletişim kutusunun geçerli durumuyla eşleşecek şekilde Güncelleştirmeler.

Korumalı Yöntemler

Ad Tanım
CFileDialog::OnButtonClicked Düğmeye tıklandığında çağrılır.
CFileDialog::OnCheckButtonToggled Onay kutusu işaretli/işaretsiz olduğunda çağrılır.
CFileDialog::OnControlActivating Denetim etkinken çağrılır.
CFileDialog::OnFileNameChange WM_NOTIFY CDN_SELCHANGE iletisini işler.
CFileDialog::OnFileNameOK İletişim kutusuna girilen dosya adını doğrular.
CFileDialog::OnFolderChange WM_NOTIFY CDN_FOLDERCHANGE iletisini işler.
CFileDialog::OnInitDone WM_NOTIFY CDN_INITDONE iletisini işler.
CFileDialog::OnItemSelected Kapsayıcı öğesi seçilirken çağrılır.
CFileDialog::OnLBSelChangedNotify Dosya seçimi değiştiğinde özel eylemler gerçekleştirmenizi sağlar.
CFileDialog::OnShareViolation Paylaşım ihlallerini işler.
CFileDialog::OnTypeChange WM_NOTIFY CDN_TYPECHANGE iletisini işler.

Ortak Veri Üyeleri

Ad Tanım
CFileDialog::m_ofn Windows OPENFILENAME yapısı. Temel dosya iletişim kutusu parametrelerine erişim sağlar.

Açıklamalar

Yaygın dosya iletişim kutuları, Dosya Aç ve Farklı Kaydet gibi dosya seçimi iletişim kutularını Windows standartlarıyla tutarlı bir şekilde uygulamanıza olanak tanır.

Sağlanan oluşturucuda olduğu gibi kullanabilir CFileDialog veya kendi iletişim kutusu sınıfınızı CFileDialog türetebilir ve gereksinimlerinize uygun bir oluşturucu yazabilirsiniz. Her iki durumda da, bu iletişim kutuları standart MFC iletişim kutuları gibi davranır çünkü bunlar CCommonDialog Sınıfından türetilir. CFileDialog , Windows'ta bulunan COMMDLG.DLL dosyasına dayanır.

'nin CFileDialog Windows Vista veya sonraki sürümleriyle hem görünümü hem de işlevselliği Windows'un önceki sürümlerinden farklıdır. Varsayılan ayar CFileDialog , bir program derlenip Windows Vista veya sonraki bir sürüm altında çalıştırılırsa kod değişikliği olmadan yeni Windows Vista veya sonraki bir stili otomatik olarak kullanır. Bu otomatik güncelleştirmeyi el ile geçersiz kılmak için oluşturucudaki bVistaStyle parametresini kullanın. Otomatik güncelleştirmenin özel durumu özelleştirilmiş iletişim kutularıdır. Bunlar yeni stile dönüştürülmeyecek. Oluşturucu hakkında daha fazla bilgi için bkz . CFileDialog::CFileDialog.

Dekont

Denetim kimliği sistemi, bir kullandığınızda CFileDialogWindows Vista veya sonraki sürümlerinden windows'un önceki sürümlerinden farklıdır. Projenizi Windows'un önceki bir sürümünden taşımadan önce koddaki denetimlere CFileDialog yapılan tüm başvuruları güncelleştirmeniz gerekir.

Bazı CFileDialog yöntemler Windows Vista veya sonraki sürümler altında desteklenmez. Yöntemin desteklenip desteklenmediği hakkında bilgi için tek tek yöntem konusuna bakın. Ayrıca, aşağıdaki devralınan işlevler Windows Vista veya sonraki sürümler altında desteklenmez:

sınıfı için CFileDialog windows iletileri, kullandığınız işletim sistemine göre değişir. Örneğin, Windows XP sınıfı için CDialog::OnCancel ve CDialog::OnOK'yiCFileDialog desteklemez. Ancak, Windows Vista ve sonraki işletim sistemleri bunları destekler. Oluşturulan farklı iletiler ve bunların alınma sırası hakkında daha fazla bilgi için bkz . CFileDialog Örneği: Olay Sırasını Günlüğe Kaydetme.

Bir CFileDialog nesneyi kullanmak için önce oluşturucuyu CFileDialog kullanarak nesnesini oluşturun. İletişim kutusu oluşturulduktan sonra, iletişim kutusu denetimlerinin değerlerini veya durumlarını başlatmak için CFileDialog::m_ofn yapısındaki herhangi bir değeri ayarlayabilir veya değiştirebilirsiniz. Yapısı m_ofn türündedir OPENFILENAME. Daha fazla bilgi için Windows SDK'sında OPENFILENAME yapısına bakın.

İletişim kutusu denetimlerini başlatdıktan sonra, kullanıcının yolu ve dosya adını yazabilmesi için iletişim kutusunu görüntülemek için CFileDialog::D oModal yöntemini çağırın. DoModal kullanıcının Tamam (IDOK) veya İptal (IDCANCEL) düğmesine tıklayıp tıklamadığını döndürür. IDOK döndürürse DoModal , kullanıcının yerleştirdiği bilgileri almak için ortak üye işlevlerinden birini CFileDialog kullanabilirsiniz.

Dekont

Windows Vista veya sonraki bir sürüm altında, IFileDialog::SetFileTypes'a yapılan birden çok çağrı bir hataya neden olur. Bir örneğinin ikinci çağrısı SetFileTypes , Windows Vista veya sonraki sürümlerde CFileDialog E_UNEXPECTED döndürür. Bazı CFileDialog yöntem işlevleri çağrısında bulunur SetFileTypes. Örneğin, aynı örneği CFileDialog için iki çağrısı CFileDialog::DoModal ASSERT oluşturur.

CFileDialog paylaşım ihlallerini, dosya adı doğrulamayı ve liste kutusu değişiklik bildirimini özel olarak işlemenizi sağlayan birkaç korumalı üye içerir. Bu korumalı üyeler, varsayılan işleme otomatik olarak gerçekleştirildiğinden çoğu uygulamanın kullanması gerekmeyen geri çağırma işlevleridir. Bu işlevler için ileti eşleme girdileri, standart sanal işlevler olduğundan gerekli değildir.

İletişim kutusunun başlatılması sırasında bir hata oluşup oluşmadığını belirlemek ve hata hakkında daha fazla bilgi edinmek için Windows CommDlgExtendedError işlevini kullanabilirsiniz.

Nesnelerin yok edilmesi CFileDialog otomatik olarak işlenir. CDialog::EndDialog'u çağırmanız gerekmez.

Kullanıcının birden çok dosya seçmesine izin vermek için çağrısından DoModalönce OFN_ALLOWMULTISELECT bayrağını ayarlayın. Birden çok dosya adının döndürülen listesine uyum sağlamak için kendi dosya adı arabelleğinizi sağlamanız gerekir. Bunu yapmak için, öğesini oluşturacak ancak çağırmadan DoModalönce ayırdığınız CFileDialogbir arabelleğe yönelik bir işaretçiyle değiştirebilirsinizm_ofn.lpstrFile.

Ayrıca, arabellekte tarafından m_ofn.lpstrFileişaret edilen karakter sayısını kullanarak ayarlamanız m_ofn.nMaxFile gerekir. Seçilecek nen fazla dosya sayısını olarak ayarlarsanız, gerekli arabellek boyutu olur n * (_MAX_PATH + 1) + 1. Arabellekte döndürülen ilk öğe, dosyaların seçildiği klasörün yoludur. Windows Vista veya sonraki stil iletişim kutularında, dizin ve dosya adı dizeleri null olarak sonlandırılır ve son dosya adından sonra fazladan null karakter kullanılır. Bu biçim, Gezgin stili iletişim kutularının boşluk içeren uzun dosya adları döndürmesini sağlar. Eski stildeki iletişim kutularında, dizin ve dosya adı dizeleri boşluklarla ayrılır ve işlev, boşluklu dosya adları için kısa dosya adları kullanır.

Aşağıdaki örnekte birden çok dosya adını almak ve listelemek için arabelleğin nasıl kullanılacağı gösterilmektedir.

#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çen kullanıcıya yanıt olarak arabellek boyutunu değiştirmek için, öğesinden CFileDialog yeni bir sınıf türetmeli ve CFileDialog::OnFileNameChange yöntemini geçersiz kılmalısınız.

öğesinden CFileDialogyeni bir sınıf türetirseniz, iletileri işlemek için bir ileti eşlemesi kullanabilirsiniz. Varsayılan ileti işlemeyi genişletmek için öğesinden CFileDialogbir sınıf türetin, yeni sınıfa bir ileti eşlemesi ekleyin ve yeni iletiler için üye işlevleri sağlayın. İletişim kutusunu özelleştirmek için bir kanca işlevi sağlamanız gerekmez.

İletişim kutusunu özelleştirmek için, öğesinden CFileDialogbir sınıf türetin, özel bir iletişim kutusu şablonu sağlayın ve genişletilmiş denetimlerden gelen bildirim iletilerini işlemek için bir ileti eşlemesi ekleyin. İşlenmemiş iletileri temel sınıfa geçirin. Kanca işlevini özelleştirmeniz gerekmez.

windows vista veya sonraki stilini CFileDialogkullanırken ileti eşlemeleri ve iletişim kutusu şablonları kullanamazsınız. Bunun yerine, benzer işlevler için COM arabirimlerini kullanmanız gerekir.

kullanma hakkında daha fazla bilgi için CFileDialogbkz . Ortak İletişim Kutusu Sınıfları.

Devralma Hiyerarşisi

Cobject

Ccmdtarget

Cwnd

Cdialog

CCommonDialog

CFileDialog

Gereksinimler

Üst bilgi: afxdlgs.h

CFileDialog::AddCheckButton

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

HRESULT AddCheckButton(
    DWORD dwIDCtl,
    const CString& strLabel,
    BOOL bChecked);

Parametreler

dwIDCtl
Eklenecek onay düğmesinin kimliği.

strLabel
Onay düğmesi adı.

b İşaretlendi
Onay düğmesinin geçerli durumunu gösteren boole değeri. İşaretlenirse DOĞRU; FALSE aksi takdirde

Açıklamalar

CFileDialog::AddComboBox

İletişim kutusuna birleşik giriş kutusu ekler.

HRESULT AddComboBox(DWORD dwIDCtl);

Parametreler

dwIDCtl
Eklenecek birleşik giriş kutusunun kimliği.

Açıklamalar

CFileDialog::AddControlItem

İletişim kutusundaki kapsayıcı denetimine öğe ekler.

HRESULT AddControlItem(
    DWORD dwIDCtl,
    DWORD dwIDItem,
    const CString& strLabel);

Parametreler

dwIDCtl
Öğenin ekleneceği kapsayıcı denetiminin kimliği.

dwIDItem
Öğenin kimliği.

strLabel
Öğenin metni.

Açıklamalar

CFileDialog::AddEditBox

İletişim kutusuna bir düzenleme kutusu ekler.

HRESULT AddEditBox(
    DWORD dwIDCtl,
    const CString& strText);

Parametreler

dwIDCtl
Eklenecek düzenleme kutusunun kimliği.

strText
Düzenleme kutusu adı.

Açıklamalar

CFileDialog::AddMenu

İletişim kutusuna bir menü ekler.

HRESULT AddMenu(
    DWORD dwIDCtl,
    const CString& strLabel);

Parametreler

dwIDCtl
Eklenecek menünün kimliği.

strLabel
Menü adı.

Açıklamalar

CFileDialog::AddPlace

Kullanıcının öğeleri açması veya kaydetmesi için kullanılabilecek yerler listesine bir klasör ekler.

void AddPlace(
    LPCWSTR lpszFolder,
    FDAP fdap = FDAP_TOP) throw();

void AddPlace(
    IShellItem* psi,
    FDAP fdap = FDAP_TOP) throw();

Parametreler

lpszFolder
Kullanıcının kullanımına sunulacak klasörün yolu. Bu yalnızca bir klasör olabilir.

fdap
Klasörün listenin içine yerleştirileceği yeri belirtir.

Psi
Kullanıcının kullanımına sunulacak klasörü temsil eden bir IShellItem işaretçisi. Bu yalnızca bir klasör olabilir.

Açıklamalar

CFileDialog::AddPushButton

İletişim kutusuna bir düğme ekler.

HRESULT AddPushButton(
    DWORD dwIDCtl,
    const CString& strLabel);

Parametreler

dwIDCtl
Eklenecek düğmenin kimliği.

strLabel
Düğme adı.

Açıklamalar

CFileDialog::AddRadioButtonList

İletişim kutusuna bir seçenek düğmesi (radyo düğmesi olarak da bilinir) grubu ekler.

HRESULT AddRadioButtonList(DWORD dwIDCtl);

Parametreler

dwIDCtl
Eklenecek seçenek düğmesi grubunun kimliği.

Açıklamalar

CFileDialog::AddSeparator

İletişim kutusuna bir ayırıcı ekler.

HRESULT AddSeparator(DWORD dwIDCtl);

Parametreler

dwIDCtl
Ayırıcı eklemenin kimliği.

Açıklamalar

CFileDialog::AddText

İletişim kutusuna metin ekler.

HRESULT AddText(
    DWORD dwIDCtl,
    const CString& strText);

Parametreler

dwIDCtl
Eklenecek metnin kimliği.

strText
Metin adı.

Açıklamalar

CFileDialog::ApplyOFNToShellDialog

geçerli durumunu GüncelleştirmelerVeri yapısında m_ofn depolanan değerleri temel alan CFileDialog.

void ApplyOFNToShellDialog();

Açıklamalar

Windows Vista'nın önceki Windows sürümlerinde, üye OPENFILENAME veri yapısı sürekli olarak durumuyla CFileDialogeşitlendi. m_ofn üye değişkeninde yapılan tüm değişiklikler iletişim kutusunun durumuna hemen yansıtılır. Ayrıca, iletişim kutusunun durumunda yapılan tüm değişiklikler üye değişkenini m_ofn hemen güncelleştirir.

Windows Vista veya sonraki sürümlerinde, üye değişkenindeki ve durumundaki m_ofn değerlerin CFileDialog eşitlenmesi garanti edilmemektedir. Bu işlev, durumunun CFileDialog yapıyla eşleşecek şekilde güncelleştirilmeye zorlar m_ofn . Windows, CFileDialog::D oModal sırasında bu işlevi otomatik olarak çağırır.

Windows Vista veya sonraki bir sürüm altında sınıfı kullanma CFileDialog hakkında daha fazla bilgi için bkz . CFileDialog Sınıfı.

Örnek

CFileDialog::UpdateOFNFromShellDialog örneğine bakın.

CFileDialog::CFileDialog

Standart bir Windows dosyası iletişim kutusu oluşturmak için bu işlevi çağır.

explicit CFileDialog(
    BOOL bOpenFileDialog,
    LPCTSTR lpszDefExt = NULL,
    LPCTSTR lpszFileName = NULL,
    DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
    LPCTSTR lpszFilter = NULL,
    CWnd* pParentWnd = NULL,
    DWORD dwSize = 0,
    BOOL bVistaStyle = TRUE);

Parametreler

bOpenFileDialog
[in] Oluşturulacak iletişim kutusunun türünü belirten parametre. Dosya Aç iletişim kutusu oluşturmak için TRUE olarak ayarlayın. Dosya Farklı Kaydet iletişim kutusu oluşturmak için FALSE olarak ayarlayın.

lpszDefExt
[in] Varsayılan dosya adı uzantısı. Kullanıcı Dosya adı kutusuna bilinen bir uzantı (kullanıcının bilgisayarında ilişkisi olan uzantı) içermiyorsa, lpszDefExt tarafından belirtilen uzantı otomatik olarak dosya adına eklenir. Bu parametre NULL ise, uzantı eklenmez.

lpszFileName
[in] Dosya adı kutusunda görüntülenen ilk dosya adı. NULL ise, ilk dosya adı görüntülenmez.

Dwflags
[in] İletişim kutusunu özelleştirmek için kullanabileceğiniz bir veya daha fazla bayrağın birleşimi. Bu bayrakların açıklaması için Windows SDK'sında OPENFILENAME yapısına bakın. Yapı üyesini m_ofn.Flags değiştirirseniz, varsayılan davranışı olduğu gibi tutmak için değişikliklerinizde bit düzeyinde OR işleci kullanın.

lpszFilter
[in] Dosyaya uygulayabileceğiniz filtreleri belirten bir dizi dize çifti. Dosya filtreleri belirtirseniz, Dosyalar listesinde yalnızca filtre ölçütlerine uyan dosyalar görüntülenir. Dosya filtreleri ile çalışma hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

pParentWnd
[in] Dosya iletişim kutusunun üst veya sahip penceresinin işaretçisi.

dwSize
[in] Yapının boyutu OPENFILENAME . Bu değer işletim sistemi sürümüne bağlıdır. MFC, oluşturulacak uygun iletişim kutusunu belirlemek için bu parametreyi kullandı. Varsayılan 0 boyutu, MFC kodunun programın çalıştırıldığı işletim sistemi sürümüne göre kullanılacak doğru iletişim kutusu boyutunu belirleyeceği anlamına gelir.

bVistaStyle
[in] Not Bu parametre Visual Studio 2008 ve sonraki sürümlerinde kullanılabilir ve yeni stil iletişim kutusunun yalnızca Windows Vista veya sonraki sürümlerinde çalışıyorsanız kullanılmasına neden olur.

Dosya iletişim kutusunun stilini belirten parametre. Yeni Vista stili dosya iletişim kutularını kullanmak için TRUE olarak ayarlayın. Aksi takdirde, iletişim kutularının eski stili kullanılır. Vista altında çalıştırma hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

Açıklamalar

bOpenFileDialog değerine bağlı olarak Dosya Aç veya Farklı Kaydet iletişim kutusu oluşturulur.

lpszDefExt kullanarak varsayılan bir uzantı belirtmek beklediğiniz davranışı üretmeyebilir, çünkü kullanıcının bilgisayarında hangi uzantıların dosya ilişkilendirmeleri olduğu nadiren tahmin edilebilir. Varsayılan uzantının eklenmesi üzerinde daha fazla denetime ihtiyacınız varsa, öğesinden CFileDialogkendi sınıfınızı türetebilir ve kendi uzantı işlemenizi gerçekleştirmek için yöntemini geçersiz kılabilirsiniz CFileDialog::OnFileNameOK .

Kullanıcının birden çok dosya seçmesini sağlamak için DoModal'ı çağırmadan önce OFN_ALLOWMULTISELECT bayrağını ayarlayın. Birden çok dosya adının döndürülen listesini depolamak için kendi dosya adı arabelleğinizi sağlamanız gerekir. CFileDialog'u oluşturdıktan sonra ancak çağrısından DoModalönce öğesini ayırdığınız arabelleğe yönelik bir işaretçiyle değiştirerek m_ofn.lpstrFile bunu yapın. Ayrıca, arabellekte tarafından m_ofn.lpstrFileişaret edilen karakter sayısıyla ayarlamanız m_ofn.nMaxFile gerekir. Seçilecek en fazla dosya sayısını n olarak ayarlarsanız, gerekli arabellek boyutu *(_MAX_PATH + 1) + 1'dir n. Örnek:

#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++;
  }
}

Kullanıcının fare veya klavye kullanarak Gezgin stilindeki bir iletişim kutusunu yeniden boyutlandırmasını sağlamak için OFN_ENABLESIZING bayrağını ayarlayın. Bu bayrağın ayarlanması yalnızca bir kanca yordamı veya özel şablon sağlarsanız gereklidir. Bayrak yalnızca Gezgin stilinde bir iletişim kutusuyla çalışır; eski stil iletişim kutuları yeniden boyutlandırılamaz.

lpszFilter parametresi, bir dosyanın dosya listesinde görüntülenmesi gereken dosya adı türünü belirlemek için kullanılır. Dize çiftindeki ilk dize filtreyi açıklar; ikinci dize, kullanılacak dosya adı uzantısını gösterir. Sınırlayıcı olarak noktalı virgül (';' karakteri) kullanılarak birden çok uzantı belirtilebilir. Dize iki dikey çubuk karakteri|| () ile sona erer ve ardından null karakter gelir. Bu parametre için bir CString nesnesi de kullanabilirsiniz.

Örneğin, Microsoft Excel kullanıcıların .xlc (grafik) veya .xls (çalışma sayfası) uzantılı dosyaları açmasına olanak tanır. Excel filtresi şöyle yazılabilir:

static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|")
   _T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|")
   _T("*.xlc; *.xls|All Files (*.*)|*.*||");

Ancak, yapıyı doğrudan güncelleştirmek OPENFILENAME için bu dizeyi kullanmayı planlıyorsanız, dizelerinizi dikey çubuklar ('|') yerine null karakterle '\0'sınırlandırmalısınız.

bVistaStyle parametresi yalnızca Windows Vista veya sonraki bir sürüm altında çalışırken geçerlidir. Windows'un önceki sürümlerinde bu parametre yoksayılır. bVistaStyle TRUE olarak ayarlanırsa, Visual Studio 2008 veya üzeri ile bir program derlediğinizde, yeni Vista stili Dosya İletişim Kutusu kullanılır. Aksi takdirde, önceki MFC stili Dosya İletişim Kutusu kullanılır.

İletişim kutusu şablonları bVistaStyle tabanlı iletişim kutuları üzerinde desteklenmez

Örnek

CFileDialog::D oModal örneğine bakın.

CFileDialog::D oModal

Windows ortak dosya iletişim kutusunu görüntülemek ve kullanıcının dosya ve dizinlere göz atmasına ve bir dosya adı girmesine izin vermek için bu işlevi çağırın.

virtual INT_PTR DoModal();

İade Değeri

IDOK veya IDCANCEL. IDCANCEL döndürülürse, bir hata oluşup oluşmadığını belirlemek için Windows CommDlgExtendedError işlevini çağırın.

IDOK ve IDCANCEL, kullanıcının Tamam mı yoksa İptal düğmesini mi seçtiğini gösteren sabitlerdir.

Açıklamalar

Yapının üyelerini m_ofn ayarlayarak çeşitli dosya iletişim kutusu seçeneklerini başlatmak istiyorsanız, öğesini çağırmadan DoModalönce ancak iletişim kutusu nesnesi oluşturulduğunda bunu yapmalısınız.

Örneğin, kullanıcının birden çok dosya seçmesine izin vermek istiyorsanız, bu konudaki kod örneğinde gösterildiği gibi çağrısından DoModalönce OFN_ALLOWMULTISELECT bayrağını ayarlayın.

Kullanıcı iletişim kutusunun Tamam veya İptal düğmelerine tıkladığında veya iletişim kutusunun denetim menüsünden Kapat seçeneğini seçtiğinde, denetim uygulamanıza döndürülür. Ardından, kullanıcının iletişim kutusuna girdiği ayarları veya bilgileri almak için diğer üye işlevlerini çağırabilirsiniz.

DoModal sınıfından CDialoggeçersiz kılınan bir sanal işlevdir.

Örnek

void CMyClass::OnFileOpen()
{
   // szFilters is a text string that includes two file name filters:
   // "*.my" for "MyType Files" and "*.*' for "All Files."
   TCHAR szFilters[]= _T("MyType Files (*.my)|*.my|All Files (*.*)|*.*||");

   // Create an Open dialog; the default file name extension is ".my".
   CFileDialog fileDlg(TRUE, _T("my"), _T("*.my"),
      OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);
   
   // Display the file dialog. When user clicks OK, fileDlg.DoModal() 
   // returns IDOK.
   if(fileDlg.DoModal() == IDOK)
   {
      CString pathName = fileDlg.GetPathName();
   
      // Implement opening and reading file in here.

      //Change the window's title to the opened file's title.
      CString fileName = fileDlg.GetFileTitle();
   
      SetWindowText(fileName);
   }
}

CFileDialog::EnableOpenDropDown

İletişim kutusundaki Aç veya Kaydet düğmesinde açılan listeyi etkinleştirir.

HRESULT EnableOpenDropDown(DWORD dwIDCtl);

Parametreler

dwIDCtl
Açılan listenin kimliği.

Açıklamalar

CFileDialog::EndVisualGroup

İletişim kutusundaki bir görsel grubuna öğe eklemeyi durdurur.

HRESULT EndVisualGroup();

İade Değeri

Başarılı olursa S_OK döndürür; aksi takdirde bir hata değeri.

Açıklamalar

CFileDialog::GetCheckButtonState

İletişim kutusundaki onay düğmesinin (onay kutusu) geçerli durumunu alır.

HRESULT GetCheckButtonState(
    DWORD dwIDCtl,
    BOOL& bChecked);

Parametreler

dwIDCtl
Onay kutusunun kimliği.

b İşaretlendi
Onay kutusunun durumu. TRUE işaretli olduğunu gösterir; YANLIŞ, işaretsiz olduğunu gösterir.

Açıklamalar

CFileDialog::GetControlItemState

İletişim kutusunda bulunan kapsayıcı denetimindeki bir öğenin geçerli durumunu alır.

HRESULT GetControlItemState(
    DWORD dwIDCtl,
    DWORD dwIDItem,
    CDCONTROLSTATEF& dwState);

Parametreler

dwIDCtl
Kapsayıcı denetiminin kimliği.

dwIDItem
Öğenin kimliği.

dwState
CDCONTROLSTATE sabit listesinden denetimin geçerli durumunu gösteren daha fazla değerden birini alan bir değişken başvurusu.

Açıklamalar

CFileDialog::GetControlState

Belirli bir denetimin geçerli görünürlüğünü ve etkin durumlarını alır.

HRESULT GetControlState(
    DWORD dwIDCtl,
    CDCONTROLSTATEF& dwState);

Parametreler

dwIDCtl
Denetimin kimliği.

dwState
CDCONTROLSTATE sabit listesinden denetimin geçerli durumunu gösteren bir veya daha fazla değer alan bir değişken başvurusu.

Açıklamalar

CFileDialog::GetEditBoxText

Düzenleme kutusu denetimindeki geçerli metni alır.

HRESULT GetEditBoxText(
    DWORD dwIDCtl,
    CString& strText);

Parametreler

dwIDCtl
Düzenleme kutusunun kimliği.

strText
Metin değeri.

Açıklamalar

CFileDialog::GetFileExt

İletişim kutusuna girilen dosya adının uzantısını almak için bu işlevi çağırın.

CString GetFileExt() const;

İade Değeri

Dosya adının uzantısı.

Açıklamalar

Örneğin, girilen dosyanın adı DATA.TXT ise, GetFileExt "TXT" döndürür.

OFN_ALLOWMULTISELECT bayrağı ayarlanmışsa m_ofn.Flags , bu dize null olarak sonlandırılan dizelerden oluşan bir dizi içerir ve ilk dize, dosya grubunun dizin yolu ve ardından kullanıcı tarafından seçilen tüm dosyaların adları olur. Dosya yol adlarını almak için GetStartPosition ve GetNextPathName üye işlevlerini kullanın.

CFileDialog::GetFileName

İletişim kutusuna girilen dosya adının adını almak için bu işlevi çağırın.

CString GetFileName() const;

İade Değeri

Dosyanın adı.

Açıklamalar

Dosyanın adı hem ön eki hem de uzantıyı içerir. Örneğin, GetFileName "METNEÇEVİr. C:\FILES\TEXT.DAT dosyası için DAT" yazın.

Bayrağı ayarlanmışsam_ofn.Flags, dosya yol adını almak için GetStartPosition ve GetNextPathName'i çağırmanız gerekir.OFN_ALLOWMULTISELECT

CFileDialog::GetFileTitle

İletişim kutusuna girilen dosyanın başlığını almak için bu işlevi çağırın.

CString GetFileTitle() const;

İade Değeri

Dosyanın başlığı.

Açıklamalar

Dosyanın başlığı, yolu veya uzantısı olmadan yalnızca ön ekini içerir. Örneğin, GetFileTitle C:\FILES\TEXT.DAT dosyası için "METNEÇEVİr" döndürür.

OFN_ALLOWMULTISELECT bayrağı ayarlanmışsa m_ofn.Flags , bu dize null olarak sonlandırılan dizelerden oluşan bir dizi içerir ve ilk dize, dosya grubunun dizin yolu ve ardından kullanıcı tarafından seçilen tüm dosyaların adları olur. Bu nedenle, listedeki bir sonraki dosya adını almak için GetStartPosition ve GetNextPathName üye işlevlerini kullanın.

Örnek

CFileDialog::D oModal örneğine bakın.

CFileDialog::GetFolderPath

Bu üye işlevini çağırarak Açık durumdaki klasörün veya dizinin yolunu Gezgin stilinde Aç veya Farklı Kaydet ortak iletişim kutusuna alın.

CString GetFolderPath() const;

İade Değeri

Şu anda açık olan klasörü veya dizini içeren bir CString nesnesi.

Açıklamalar

İletişim kutusu OFN_EXPLORER stiliyle oluşturulmuş olmalıdır; aksi takdirde yöntemi bir onaylama işlemiyle başarısız olur.

Bu yöntemi yalnızca iletişim kutusu görüntülenirken çağırabilirsiniz. İletişim kutusu kapatıldıktan sonra bu işlev artık çalışmaz ve yöntem bir onaylama işlemiyle başarısız olur.

CFileDialog::GetIFileDialogCustomize

Belirli bir CFileDialog için iç COM nesnesine yönelik bir işaretçi alır.

IFileDialogCustomize* GetIFileDialogCustomize();

İade Değeri

için iç COM nesnesinin işaretçisi CFileDialog. Bu işaretçiyi uygun şekilde serbest bırakmak sizin sorumluluğunuzdadır.

Açıklamalar

Bu işlevi yalnızca Windows Vista veya üzeri altında bVistaStyle değeri TRUE olarak ayarlanmış bir nesneyle kullanın. bVistaStyle YANLIŞ olduğunda bu işlevi kullanırsanız, yayın modunda NULL döndürür ve hata ayıklama modunda bir onay oluşturur.

Arabirim hakkında IFileDialogCustomize daha fazla bilgi için bkz . IFileDialogCustomize.

Örnek

Bu örnek, iç COM nesnesini alır. Bu kod örneğini çalıştırmak için Windows Vista veya üzeri altında derlemeniz gerekir.

// Get the interface pointer
IFileDialogCustomize *customDlgPtr = m_myFileDialogPtr->GetIFileDialogCustomize();

// Make sure that it is not null
if (customDlgPtr != NULL)
{
   //
   // Perform any interface functionality here
   //

   // Release the pointer
   customDlgPtr->Release();
}

CFileDialog::GetIFileOpenDialog

Belirli CFileDialogbir için iç COM nesnesinin işaretçisini alır.

IFileOpenDialog* GetIFileOpenDialog();

İade Değeri

için iç COM nesnesinin işaretçisi CFileDialog. Bu işaretçiyi uygun şekilde serbest bırakmak sizin sorumluluğunuzdadır.

Açıklamalar

Bu işlevi yalnızca Windows Vista veya üzeri altında bVistaStyle değeri TRUE olarak ayarlanmış bir nesneyle kullanın. Bu işlev, Aç iletişim kutusu değilse CFileDialog veya bVistaStyle YANLIŞ olarak ayarlandıysa NULL döndürür. Bu son durumda işlev yalnızca yayın modunda NULL döndürür; hata ayıklama modunda onay oluşturur.

Arabirim hakkında IFileOpenDialog daha fazla bilgi için bkz . IFileOpenDialog.

Örnek

Bu örnek, iç COM nesnesini alır. Bu kodu çalıştırmak için Windows Vista veya üzeri altında derlemeniz gerekir.

// Get the interface pointer
IFileOpenDialog * openDlgPtr = m_myFileDialogPtr->GetIFileOpenDialog();

// Make sure that it is not null
if ( openDlgPtr != NULL )
{
    //
    // Perform any interface functionality here
    //

    // Release the pointer
    openDlgPtr->Release();
}

CFileDialog::GetIFileSaveDialog

Belirli CFileDialogbir için iç COM nesnesinin işaretçisini alır.

IFileSaveDialog* GetIFileSaveDialog();

İade Değeri

için iç COM nesnesinin işaretçisi CFileDialog. Bu işaretçiyi uygun şekilde serbest bırakmak sizin sorumluluğunuzdadır.

Açıklamalar

Bu işlevi yalnızca Windows Vista veya üzeri altında bVistaStyle değeri TRUE olarak ayarlanmış bir nesneyle kullanın. Bu işlev, Kaydet iletişim kutusu değilse CFileDialogveya bVistaStyle YANLIŞ olarak ayarlandıysa NULL döndürür. Bu son durumda işlev yalnızca yayın modunda NULL döndürür; hata ayıklama modunda onay oluşturur.

Arabirim hakkında IFileSaveDialog daha fazla bilgi için bkz . IFileSaveDialog.

Örnek

Bu örnek, iç COM nesnesini alır. Bu kod örneğini çalıştırmak için Windows Vista veya üzeri altında derlemeniz gerekir.

// Get the interface pointer
IFileSaveDialog *saveDlgPtr = m_myFileDialogPtr->GetIFileSaveDialog();

// Make sure that it is not null
if (saveDlgPtr != NULL)
{
   //
   // Perform any interface functionality here
   //

   // Release the pointer
   saveDlgPtr->Release();
}

CFileDialog::GetNextPathName

İletişim kutusunda seçilen gruptan sonraki dosya adını almak için bu işlevi çağırın.

CString GetNextPathName(POSITION& pos) const;

Parametreler

Pos
Önceki GetNextPathName veya GetStartPosition işlev çağrısı tarafından döndürülen POSITION değerine başvuru. Listenin sonuna ulaşıldıysa NULL.

İade Değeri

Dosyanın tam yolu.

Açıklamalar

Dosya adının yolu, dosyanın başlığını ve dizin yolunun tamamını içerir. Örneğin, GetNextPathName "C:\FILES\TEXT. C:\FILES\TEXT.DAT dosyası için DAT" yazın. çağrısıyla GetStartPositionilk konumu belirlerseniz, bir iletme yineleme döngüsünde kullanabilirsinizGetNextPathName.

Seçim yalnızca bir dosyadan oluşuyorsa, bu dosya adı döndürülür.

CFileDialog::GetOFN

İlişkili OPENFILENAME yapıyı alır.

const OPENFILENAME& GetOFN() const;

OPENFILENAME& GetOFN();

İade Değeri

OPENFILENAME yapısı.

Açıklamalar

Bu işlevin ikinci sürümünü kullanarak, dosya açıldıktan sonra ancak üye işleviyle DoModal görüntülenmeden önce Dosya Aç veya Farklı Kaydet iletişim kutusunun görünümünü başlatın. Örneğin, öğesinin üyesini lpstrTitlem_ofn iletişim kutusunun sahip olmasını istediğiniz başlık ayarlayabilirsiniz.

CFileDialog::GetPathName

İletişim kutusuna girilen dosyanın tam yolunu almak için bu işlevi çağırın.

CString GetPathName() const;

İade Değeri

Dosyanın tam yolu.

Açıklamalar

Dosya adının yolu, dosyanın başlığını ve dizin yolunun tamamını içerir. Örneğin, GetPathName "C:\FILES\TEXT. C:\FILES\TEXT.DAT dosyası için DAT" yazın.

OFN_ALLOWMULTISELECT bayrağı ayarlanmışsa m_ofn.Flags , bu dize null teminatlı dizelerden oluşan bir dizi içerir ve ilk dize, dosya grubunun dizin yolu ve ardından kullanıcı tarafından seçilen tüm dosyaların adları olur. Bu nedenle, listedeki bir sonraki dosya adını almak için GetStartPosition ve GetNextPathName üye işlevlerini kullanın.

Örnek

CFileDialog::D oModal örneğine bakın.

CFileDialog::GetReadOnlyPref

Windows standart Dosya Aç ve Dosya Farklı Kaydet iletişim kutularında Salt Okunur onay kutusunun seçilip seçilmediğini belirlemek için bu işlevi çağırın.

BOOL GetReadOnlyPref() const;

İade Değeri

İletişim kutusundaki Salt Okunur onay kutusu seçiliyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Oluşturucuda OFN_HIDEREADONLY stilini CFileDialog ayarlayarak Salt Okunur onay kutusunu gizleyebilirsiniz.

Dekont

Windows Vista veya sonraki stil CFileDialog nesneleri bu işlevi desteklemez. Bu işlevi bir Windows Vista veya sonraki bir stilde CFileDialog kullanmaya çalışmak CNotSupportedException oluşturur.

CFileDialog::GetResult

Kullanıcının iletişim kutusunda yaptığı seçimi alır.

IShellItem* GetResult() throw();

İade Değeri

Kullanıcının seçimini temsil eden bir IShellItem işaretçisi.

Açıklamalar

CFileDialog::GetResults

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

IShellItemArray* GetResults() throw();

İade Değeri

İletişim kutusunda seçilen öğelere erişilebilen IShellItemArray işaretçisi.

Açıklamalar

CFileDialog::GetSelectedControlItem

İletişim kutusundaki belirtilen kapsayıcı denetiminden belirli bir öğeyi alır.

HRESULT GetSelectedControlItem(
    DWORD dwIDCtl,
    DWORD& dwIDItem);

Parametreler

dwIDCtl
Kapsayıcı denetiminin kimliği.

dwIDItem
Kullanıcının denetimde seçtiği öğenin kimliği.

Açıklamalar

CFileDialog::GetStartPosition

OFN_ALLOWMULTISELECT bayrağı ayarlanmışsa m_ofn.Flags listedeki ilk dosya yolu adının konumunu almak için bu üye işlevini çağırın.

POSITION GetStartPosition() const;

İade Değeri

Yineleme için kullanılabilecek BIR POSITION değeri; Liste boşsa NULL.

CFileDialog::HideControl

Gezgin stilinde bir Ortak Aç veya Farklı Kaydet iletişim kutusunda belirtilen denetimi gizlemek için bu üye işlevini çağırın.

void HideControl(int nID);

Parametreler

Nıd
Gizlenecek denetimin kimliği.

Açıklamalar

İletişim kutusu OFN_EXPLORER stiliyle oluşturulmuş olmalıdır; aksi takdirde işlev bir onay ile başarısız olur.

CFileDialog::IsPickFoldersMode

Geçerli iletişim kutusunun klasör seçici modunda olup olmadığını belirler.

BOOL IsPickFoldersMode() const;

İade Değeri

İletişim kutusu klasör seçici modundaysa TRUE; aksi takdirde YANLIŞ.

Açıklamalar

CFileDialog::m_ofn

m_ofn türünde OPENFILENAMEbir yapıdır. Bu yapıdaki veriler geçerli durumunu CFileDialogtemsil eder.

Açıklamalar

Dosya Aç veya Dosya Farklı Kaydet iletişim kutusunun görünümünü oluşturmak için ancak bunu DoModal yöntemiyle görüntülemeden önce başlatmak için bu yapıyı kullanın. Örneğin, öğesinin lpstrTitle üyesinim_ofn, iletişim kutusunun sahip olmasını istediğiniz başlık ayarlayabilirsiniz.

CFileDialog'un Windows Vista veya sonraki stiliyle, m_ofn iletişim kutusunun durumuyla her zaman eşleşmesi garanti değildir. Windows'un önceki sürümlerinde iletişim kutusuyla eşitlenir. Windows Vista veya sonraki bir sürüm altında yapıyı ve durumu eşitleme m_ofn hakkında daha fazla bilgi için bkz. CFileDialog::ApplyOFNToShellDialog ve CFileDialog CFileDialog::UpdateOFNFromShellDialog.

Windows Vista veya sonraki stil dosya iletişim kutuları belirli üyelerini ve bayraklarını CFileDialogdesteklemez. Sonuç olarak, bunların hiçbir etkisi olmaz.

Aşağıda, Windows Vista veya sonraki sürümler tarafından desteklenmeyen üyelerin listesi yer alır:

  • lpstrCustomFilter

  • lpstrInitialDir

  • lCustData

  • lpfnHook

  • lpTemplateName

Aşağıdaki bayraklar desteklenmez ve bu nedenle Windows Vista veya sonraki bir stilini CFileDialogkullandığınızda hiçbir etkisi olmaz:

  • OFN_ENABLEHOOK

  • OFN_ENABLEINCLUDENOTIFY

  • OFN_ENABLETEMPLATE

  • OFN_ENABLETEMPLATEHANDLE

  • OFN_EXPLORER

  • OFN_EXTENSIONDIFFERENT

  • OFN_HIDEREADONLY

  • OFN_LONGNAMES - Windows Vista veya sonraki sürümlerde her zaman etkin bir şekilde açık

  • OFN_NOLONGNAMES - Windows Vista veya sonraki sürümlerde etkin bir şekilde her zaman kapalı

  • OFN_NONETWORKBUTTON - Windows Vista veya sonraki sürümlerde etkin bir şekilde her zaman açık

  • OFN_READONLY

  • OFN_SHOWHELP

Bu yapı hakkında daha fazla bilgi için Windows SDK'sında OPENFILENAME yapısına bakın.

CFileDialog::MakeProminent

İletişim kutusuna bir denetim yerleştirerek diğer denetimlerle karşılaştırıldığında öne çıkmasını sağlar.

HRESULT MakeProminent(DWORD dwIDCtl);

Parametreler

dwIDCtl
Denetimin kimliği.

Açıklamalar

CFileDialog::OnButtonClicked

Düğmeye tıklandığında çağrılır.

virtual void OnButtonClicked(DWORD dwIDCtl);

Parametreler

dwIDCtl
Düğmenin kimliği.

Açıklamalar

CFileDialog::OnCheckButtonToggled

Onay kutusu işaretli veya işaretsiz olduğunda çağrılır.

virtual void OnCheckButtonToggled(
    DWORD dwIDCtl,
    BOOL bChecked);

Parametreler

dwIDCtl
Onay kutusunun kimliği.

b İşaretlendi
İşaretlendi veya işaretlenmemiş.

Açıklamalar

CFileDialog::OnControlActivating

Denetim etkinleştirildiğinde çağrılır.

virtual void OnControlActivating(DWORD dwIDCtl);

Parametreler

dwIDCtl
Denetimin kimliği.

Açıklamalar

CFileDialog::OnFileNameChange

WM_NOTIFY CDN_SELCHANGE iletisini işlemek istiyorsanız bu yöntemi geçersiz kılın.

virtual void OnFileNameChange();

Açıklamalar

Kullanıcı Aç veya Farklı Kaydet iletişim kutusunun dosya listesinde yeni bir dosya veya klasör seçtiğinde sistem CDN_SELCHANGE iletisini gönderir. Bu iletiye yanıt olarak herhangi bir eylem gerçekleştirmek istiyorsanız bu yöntemi geçersiz kılın.

Sistem bu iletiyi yalnızca iletişim kutusu OFN_EXPLORER bayrağı açık olarak oluşturulduysa gönderir. Bildirim hakkında daha fazla bilgi için bkz . CDN_SELCHANGE. OFN_EXPLORER bayrağı hakkında bilgi için OPENFILENAME yapısına ve Aç ve Farklı Kaydet İletişim Kutuları'na bakın.

CFileDialog::OnFileNameOK

Bu işlevi yalnızca ortak bir dosya iletişim kutusuna girilen dosya adlarının özel doğrulamasını sağlamak istiyorsanız geçersiz kılın.

virtual BOOL OnFileNameOK();

İade Değeri

Dosya adı geçerli bir dosya adı değilse 1; aksi takdirde 0.

Açıklamalar

Bu işlev, uygulamaya özgü herhangi bir nedenle dosya adını reddetmenizi sağlar. Normalde, çerçeve dosya adlarının varsayılan doğrulamasını sağladığından ve geçersiz bir dosya adı girilirse bir ileti kutusu görüntülediğinden bu işlevi kullanmanız gerekmez.

1 döndürülürse, kullanıcının başka bir dosya adı girmesi için iletişim kutusu görüntülenir. dönüş 0 ise iletişim kutusu yordamı iletişim kutusunu kapatır. Diğer sıfır olmayan dönüş değerleri şu anda ayrılmıştır ve kullanılmamalıdır.

CFileDialog::OnFolderChange

WM_NOTIFYCDN_FOLDERCHANGE iletisini işlemek için bu işlevi geçersiz kılın.

virtual void OnFolderChange();

Açıklamalar

Bildirim iletisi, Aç veya Farklı Kaydet iletişim kutusunda yeni bir klasör açıldığında gönderilir.

Bildirim yalnızca iletişim kutusu OFN_EXPLORER stiliyle oluşturulduysa gönderilir. Bildirim hakkında daha fazla bilgi için bkz . CDN_FOLDERCHANGE. OFN_EXPLORER stili hakkında bilgi için OPENFILENAME yapısına ve Aç ve Farklı Kaydet İletişim Kutuları'na bakın.

CFileDialog::OnInitDone

WM_NOTIFY CDN_INITDONE iletisini işlemek için bu işlevi geçersiz kılın.

virtual void OnInitDone();

Açıklamalar

Sistem, alt iletişim kutusunun denetimlerine yer açmak için Aç veya Farklı Kaydet iletişim kutusunda denetimleri düzenlemeyi bitirdiğinde bu bildirim iletisini gönderir.

Sistem bunu yalnızca iletişim kutusu OFN_EXPLORER stiliyle oluşturulduysa gönderir. Bildirim hakkında daha fazla bilgi için bkz . CDN_INITDONE. OFN_EXPLORER stili hakkında bilgi için OPENFILENAME yapısına ve Aç ve Farklı Kaydet İletişim Kutuları'na bakın.

Dekont

Windows Vista veya sonraki stil dosyası iletişim kutuları bu işlevi desteklemez. Bu işlevi bir Windows Vista veya sonraki stil dosyası iletişim kutusunda kullanmaya çalışmak CNotSupportedException oluşturur.

CFileDialog::OnItemSelected

Kapsayıcı öğesi seçildiğinde çağrılır.

virtual void OnItemSelected(
    DWORD dwIDCtl,
    DWORD dwIDItem);

Parametreler

dwIDCtl
Kapsayıcı denetiminin kimliği.

dwIDItem
Öğenin kimliği.

Açıklamalar

CFileDialog::OnLBSelChangedNotify

Liste kutusundaki geçerli seçim değişmek üzere olduğunda bu işlev çağrılır.

virtual void OnLBSelChangedNotify(
    UINT nIDBox,
    UINT iCurSel,
    UINT nCode);

Parametreler

nIDBox
Seçimin gerçekleştiği liste kutusunun veya birleşik giriş kutusunun kimliği.

iCurSel
Geçerli seçimin dizini.

Ncode
Denetim bildirim kodu. Bu parametre aşağıdaki değerlerden birine sahip olmalıdır:

  • CD_LBSELCHANGE Tek seçimli liste kutusunda seçili öğe iCurSel'i belirtir.

  • CD_LBSELSUB Çok işlevli liste kutusunda iCurSel'in artık seçilmediğini belirtir.

  • CD_LBSELADD Çok bölümlü liste kutusunda iCurSel'in seçili olduğunu belirtir.

  • CD_LBSELNOITEMS Çok bölümlü liste kutusunda seçim olmadığını belirtir.

Açıklamalar

Liste kutusunda seçim değişikliklerinin özel işlenmesini sağlamak için bu işlevi geçersiz kılın. Örneğin, kullanıcının seçtiği her dosyanın erişim haklarını veya son değiştirme tarihini görüntülemek için bu işlevi kullanabilirsiniz.

CFileDialog::OnShareViolation

Paylaşım ihlallerinin özel işlenmesini sağlamak için bu işlevi geçersiz kılın.

virtual UINT OnShareViolation(LPCTSTR lpszPathName);

Parametreler

lpszPathName
Paylaşım ihlalinin oluştuğu dosyanın yolu.

İade Değeri

Aşağıdaki değerlerden biri:

  • OFN_SHAREFALLTHROUGH Dosya adı iletişim kutusundan döndürülür.

  • OFN_SHARENOWARN Başka bir işlem yapılması gerekmez.

  • OFN_SHAREWARN Kullanıcı bu hata için standart uyarı iletisini alır.

Açıklamalar

Normalde, çerçeve paylaşım ihlallerinin varsayılan denetimini sağladığından ve paylaşım ihlali oluşursa bir ileti kutusu görüntülediğinden bu işlevi kullanmanız gerekmez.

Paylaşım ihlali denetimini devre dışı bırakmak istiyorsanız, OFN_SHAREAWARE bayrağını ile m_ofn.Flagsbirleştirmek için bit düzeyinde OR işlecini kullanın.

CFileDialog::OnTypeChange

WM_NOTIFYCDN_TYPECHANGE iletisini işlemek için bu işlevi geçersiz kılın.

virtual void OnTypeChange();

Açıklamalar

Bildirim iletisi, kullanıcı Aç veya Farklı Kaydet iletişim kutusundaki dosya türleri listesinden yeni bir dosya türü seçtiğinde gönderilir.

Bildirim yalnızca iletişim kutusu OFN_EXPLORER stiliyle oluşturulduysa gönderilir. Bildirim hakkında daha fazla bilgi için bkz . CDN_TYPECHANGE. OFN_EXPLORER stili hakkında bilgi için OPENFILENAME yapısına ve Aç ve Farklı Kaydet İletişim Kutuları'na bakın.

CFileDialog::RemoveControlItem

İletişim kutusundaki kapsayıcı denetiminden bir öğeyi kaldırır.

HRESULT RemoveControlItem(
    DWORD dwIDCtl,
    DWORD dwIDItem);

Parametreler

dwIDCtl
Öğeyi kaldırılacak kapsayıcı denetiminin kimliği.

dwIDItem
Öğenin kimliği.

Açıklamalar

CFileDialog::SetCheckButtonState

İletişim kutusundaki onay düğmesinin (onay kutusu) geçerli durumunu ayarlar.

HRESULT SetCheckButtonState(
    DWORD dwIDCtl,
    BOOL bChecked);

Parametreler

dwIDCtl
Onay kutusunun kimliği.

b İşaretlendi
Onay kutusunun durumu. TRUE işaretli olduğunu gösterir; YANLIŞ, İşaretsiz'i gösterir.

Açıklamalar

CFileDialog::SetControlItemState

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

HRESULT SetControlItemState(
    DWORD dwIDCtl,
    DWORD dwIDItem,
    CDCONTROLSTATEF dwState);

Parametreler

dwIDCtl
Kapsayıcı denetiminin kimliği.

dwIDItem
Öğenin kimliği.

dwState
CDCONTROLSTATE sabit listesinden denetimin yeni durumunu gösteren bir veya daha fazla değer.

Açıklamalar

CFileDialog::SetControlItemText

Denetim öğesinin metnini ayarlar. Örneğin, bir radyo düğmesine veya menüdeki bir öğeye eşlik eden metin.

HRESULT SetControlItemText(
    DWORD dwIDCtl,
    DWORD dwIDItem,
    const CString& strLabel);

Parametreler

dwIDCtl
Kapsayıcı denetiminin kimliği.

dwIDItem
Öğenin kimliği.

strLabel
Öğenin metni.

Açıklamalar

CFileDialog::SetControlLabel

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

HRESULT SetControlLabel(
    DWORD dwIDCtl,
    const CString& strLabel);

Parametreler

dwIDCtl
Denetimin kimliği.

strLabel
Denetim adı.

Açıklamalar

CFileDialog::SetControlState

Belirli bir denetimin geçerli görünürlüğünü ve etkin durumlarını ayarlar.

HRESULT SetControlState(
    DWORD dwIDCtl,
    CDCONTROLSTATEF dwState);

Parametreler

dwIDCtl
Denetimin kimliği.

dwState
CDCONTROLSTATE sabit listesinden denetimin geçerli durumunu gösteren bir veya daha fazla değer.

Açıklamalar

CFileDialog::SetControlText

Gezgin stilinde veya Farklı Kaydet iletişim kutusunda belirtilen denetimin metnini ayarlamak için bu yöntemi çağırın.

void SetControlText(
    int nID,
    LPCSTR lpsz);

void SetControlText(
    int nID,
    const wchar_t *lpsz);

Parametreler

Nıd
[in] Metnin ayarlanacağı denetimin kimliği.

lpsz
[in] Denetim için ayarlanacağı metni içeren dize işaretçisi.

Açıklamalar

Bu işlevin her iki sürümü de Unicode kullanan uygulamalar için geçerlidir. Ancak, ANSI kullanan uygulamalar için yalnızca LPCSTR türüne sahip sürüm geçerlidir.

Bu yöntemi kullanmak için, OFN_EXPLORER stiliyle iletişim kutusunu oluşturmanız gerekir. Aksi takdirde işlev bir onay ile başarısız olur.

CFileDialog::SetDefExt

Gezgin stilinde Ortak Aç veya Farklı Kaydet iletişim kutusu için varsayılan dosya adı uzantısını ayarlamak için bu işlevi çağırın.

void SetDefExt(LPCSTR lpsz);

Parametreler

lpsz
İletişim kutusu nesnesi için kullanılacak varsayılan uzantıyı içeren bir dize işaretçisi. Bu dize nokta (.) içermemelidir.

Açıklamalar

İletişim kutusu OFN_EXPLORER stiliyle oluşturulmuş olmalıdır; aksi takdirde işlev bir onay ile başarısız olur.

CFileDialog::SetEditBoxText

Düzenleme kutusu denetimindeki geçerli metni ayarlar.

HRESULT SetEditBoxText(
    DWORD dwIDCtl,
    const CString& strText);

Parametreler

dwIDCtl
Düzenleme kutusunun kimliği.

strText
Metin değeri.

Açıklamalar

CFileDialog::SetProperties

Kaydedilen öğe için kullanılacak varsayılan değerleri tanımlayan bir özellik deposu sağlar.

BOOL SetProperties(LPCWSTR lpszPropList);

Parametreler

lpszPropList
";" ile ayrılmış önceden tanımlanmış özelliklerin listesi. Bayrakların listesi için OPENFILENAME'in Bayraklar bölümüne bakın.

Açıklamalar

CFileDialog::SetSelectedControlItem

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

HRESULT SetSelectedControlItem(
    DWORD dwIDCtl,
    DWORD dwIDItem);

Parametreler

dwIDCtl
Kapsayıcı denetiminin kimliği.

dwIDItem
Kullanıcının denetimde seçtiği öğenin kimliği.

Açıklamalar

CFileDialog::SetTemplate

CFileDialog nesnesi için iletişim kutusu şablonunu ayarlar.

void SetTemplate(
    UINT nWin3ID,
    UINT nWin4ID);

void SetTemplate(
    LPCTSTR lpWin3ID,
    LPCTSTR lpWin4ID);

Parametreler

nWin3ID
[in] Explorer CFileDialog olmayan nesne için şablon kaynağının kimlik numarasını içerir. Bu şablon yalnızca Windows NT 3.51'de veya OFN_EXPLORER stili mevcut olmadığında kullanılır.

nWin4ID
[in] Explorer CFileDialog nesnesinin şablon kaynağının kimlik numarasını içerir. Bu şablon yalnızca Windows NT 4.0 ve sonraki sürümlerde, Windows 95 ve sonraki sürümlerde veya OFN_EXPLORER stili mevcut olduğunda kullanılır.

lpWin3ID
[in] Explorer CFileDialog olmayan nesnenin şablon kaynağının adını içerir. Bu şablon yalnızca Windows NT 3.51'de veya OFN_EXPLORER stili mevcut olmadığında kullanılır.

lpWin4ID
[in] Explorer CFileDialog nesnesinin şablon kaynağının adını içerir. Bu şablon yalnızca Windows NT 4.0 ve sonraki sürümlerde, Windows 95 ve sonraki sürümlerde veya OFN_EXPLORER stili mevcut olduğunda kullanılır.

Açıklamalar

Sistem, belirtilen şablonlardan yalnızca birini kullanır. Sistem, OFN_EXPLORER stilinin ve uygulamanın üzerinde çalıştığı işletim sisteminin varlığına bağlı olarak hangi şablonun kullanılacağını belirler. Hem Gezgin olmayan hem de Gezgin stilinde bir şablon belirterek, Windows NT 3.51, Windows NT 4.0 ve sonraki sürümleri ve Windows 95 ve sonraki sürümleri desteklemek kolaydır.

Dekont

Windows Vista veya sonraki stil dosyası iletişim kutuları bu işlevi desteklemez. Bu işlevi bir Windows Vista veya sonraki stil dosyası iletişim kutusunda kullanmaya çalışmak CNotSupportedException oluşturur. Alternatif olarak özelleştirilmiş bir iletişim kutusu kullanabilirsiniz. Özel CFileDialogkullanma hakkında daha fazla bilgi için bkz . IFileDialogCustomize.

CFileDialog::StartVisualGroup

İletişim kutusunda bir görsel grubu bildirir. Herhangi bir "add" yöntemine yapılan sonraki çağrılar bu öğeleri bu gruba ekler.

HRESULT StartVisualGroup(
    DWORD dwIDCtl,
    const CString& strLabel);

Parametreler

dwIDCtl
Görsel grubunun kimliği.

strLabel
Grup adı.

Açıklamalar

CFileDialog::UpdateOFNFromShellDialog

İç nesnenin m_ofn geçerli durumuna göre CFileDialog'un veri yapısını Güncelleştirmeler.

void UpdateOFNFromShellDialog();

Açıklamalar

Windows Vista'nın önceki Windows sürümlerinde, üye OPENFILENAME veri yapısı sürekli olarak durumuyla CFileDialogeşitlendi. m_ofn üye değişkeninde yapılan değişiklikler iletişim kutusunun durumunu doğrudan etkiledi. Ayrıca, iletişim kutusunun durumunda yapılan tüm değişiklikler m_ofn üye değişkenini hemen güncelleştirdi.

Windows Vista veya sonraki sürümlerinde veri m_ofn yapısı otomatik olarak güncelleştirilmez. Üye değişkenindeki m_ofn verilerin doğruluğunu garanti etmek için verilere erişmeden önce işlevini çağırmanız UpdateOFNFromShellDialog gerekir. Windows, IFileDialog::OnFileOK işlemi sırasında bu işlevi otomatik olarak çağırır.

Windows Vista veya sonraki bir sürüm altında sınıfı kullanma CFileDialog hakkında daha fazla bilgi için bkz . CFileDialog Sınıfı.

Örnek

Bu örnek, görüntülemeden önce öğesini CFileDialog güncelleştirir. Üye değişkenini m_ofn güncelleştirmeden önce, bunu iletişim kutusunun geçerli durumuyla eşitlememiz gerekir.

// Update the m_ofn variable
m_myFileDialogPtr->UpdateOFNFromShellDialog();

// Change the title
m_myFileDialogPtr->m_ofn.lpstrTitle = L"New Dialog Title";

// Apply the changes
m_myFileDialogPtr->ApplyOFNToShellDialog();

// Show the window
LRESULT result = m_myFileDialogPtr->DoModal();

Ayrıca bkz.

CCommonDialog Sınıfı
Hiyerarşi Grafiği