Sdílet prostřednictvím


Třída CFileDialog

Zapouzdřuje běžné dialogovém okně, které se používá pro soubor otevřít nebo uložit operace.

class CFileDialog : public CCommonDialog

Členy

dk77e5e7.collapse_all(cs-cz,VS.110).gifVeřejné konstruktory

Název

Description

CFileDialog::CFileDialog

Konstrukce CFileDialog objektu.

dk77e5e7.collapse_all(cs-cz,VS.110).gifVeřejné metody

Název

Description

CFileDialog::AddCheckButton

Přidá zaškrtávací tlačítko dialogové okno.

CFileDialog::AddComboBox

Přidá dialogové okno se seznamem.

CFileDialog::AddControlItem

Přidá položku do kontejnerového ovládacího prvku v dialogovém okně.

CFileDialog::AddEditBox

Přidá textového pole dialogového okna.

CFileDialog::AddMenu

Dialogové okno Přidat nabídku.

CFileDialog::AddPlace

Přetíženo.Přidá že složku do seznamu míst k dispozici pro uživatele k otevření nebo uložení položky.

CFileDialog::AddPushButton

Přidá tlačítko dialogové okno.

CFileDialog::AddRadioButtonList

Přidá skupiny přepínačů (označované také jako přepínač) dialogové okno.

CFileDialog::AddSeparator

Přidá do dialogového okna oddělovač.

CFileDialog::AddText

Přidá textový obsah do dialogového okna.

CFileDialog::ApplyOFNToShellDialog

Aktualizace stavu CFileDialog odpovídající parametry a příznaky, které jsou uloženy v m_ofn členské proměnné.

CFileDialog::DoModal

Zobrazí dialogové okno a umožňuje uživateli výběr.

CFileDialog::EnableOpenDropDown

Umožňuje v rozevíracím seznamu Open nebo Uložit tlačítko v dialogovém okně.

CFileDialog::EndVisualGroup

Zastaví prvků visual skupiny v dialogovém okně.

CFileDialog::GetCheckButtonState

Získá aktuální stav zaškrtávací tlačítko (zaškrtávací políčko) v dialogovém okně.

CFileDialog::GetControlItemState

Získá aktuální stav položky v ovládacím prvku kontejneru nalezen v dialogovém okně.

CFileDialog::GetControlState

Získá aktuální viditelnost a stavů daný ovládací prvek.

CFileDialog::GetEditBoxText

Získá aktuální text v ovládacím prvku pole upravit.

CFileDialog::GetFileExt

Vrátí rozšíření vybraného souboru.

CFileDialog::GetFileName

Vrátí název souboru vybraného souboru.

CFileDialog::GetFileTitle

Vrátí název vybraného souboru.

CFileDialog::GetFolderPath

Načte cestu aktuálně otevřené složky nebo adresáře stylu Průzkumník otevřete nebo Uložit jako běžné dialogové okno.

CFileDialog::GetIFileDialogCustomize

Načte vnitřní objekt modelu COM pro přizpůsobené CFileDialog objektu.

CFileDialog::GetIFileOpenDialog

Načte vnitřní objekt modelu COM pro CFileDialog používaný jako Otevřít dialogové okno souboru.

CFileDialog::GetIFileSaveDialog

Obnoví vnitřní objekt modelu COM pro CFileDialog používaný jako Uložit dialogové okno souboru.

CFileDialog::GetNextPathName

Vrací úplnou cestu k dalším vybraného souboru.

CFileDialog::GetOFN

Načte OPENFILENAME struktury CFileDialog objektu.

CFileDialog::GetPathName

Vrací úplnou cestu k vybranému souboru.

CFileDialog::GetReadOnlyPref

Vrátí stav vybraného souboru jen pro čtení.

CFileDialog::GetResult

Získá voleb, které uživatel v dialogovém okně.

CFileDialog::GetResults

V dialogovém okně, které umožňuje výběr více získá uživatelské možnosti.

CFileDialog::GetSelectedControlItem

Získá určité položky ze zadaného kontejneru ovládacích prvků v dialogovém okně.

CFileDialog::GetStartPosition

Vrátí pozici první prvek seznamu název souboru.

CFileDialog::HideControl

Skryje ovládací prvek zadaný ve stylu Průzkumníka Open nebo Uložit jako běžné dialogové okno.

CFileDialog::IsPickFoldersMode

Určuje, zda aktuální dialogové okno v režimu pro výběr složky.

CFileDialog::MakeProminent

Míst ovládací prvek v dialogovém okně tak, aby vystupoval porovnání s jinými přidané ovládací prvky.

CFileDialog::RemoveControlItem

Odebere položky z ovládacího prvku kontejneru v dialogovém okně.

CFileDialog::SetCheckButtonState

Nastaví aktuální stav zaškrtávací tlačítko (zaškrtávací políčko) v dialogovém okně.

CFileDialog::SetControlItemState

Nastaví aktuální stav položky v ovládacím prvku kontejneru nalezen v dialogovém okně.

CFileDialog::SetControlItemText

Nastaví text položky ovládacího prvku.Například text, který doprovází, přepínací tlačítko nebo položky nabídky.

CFileDialog::SetControlLabel

Nastaví text přidružený ovládací prvek jako text tlačítka nebo popisek pole upravit.

CFileDialog::SetControlState

Nastaví aktuální viditelnost a stavů daný ovládací prvek.

CFileDialog::SetControlText

Nastaví text pro ovládací prvek zadaný ve stylu Průzkumníka Open nebo Uložit jako běžné dialogové okno.

CFileDialog::SetDefExt

Nastaví výchozí přípona názvu souboru pro styl Průzkumník Open nebo Uložit jako běžné dialogové okno.

CFileDialog::SetEditBoxText

Nastaví aktuální text v ovládacím prvku pole upravit.

CFileDialog::SetProperties

Poskytuje úložiště vlastností, která definuje výchozí hodnoty pro položku uložit.

CFileDialog::SetSelectedControlItem

Nastaví vybraný stav určité položky skupiny přepínačů nebo seznamem nalezena v dialogovém okně.

CFileDialog::SetTemplate

Dialogové okno šablony pole pro nastaví CFileDialog objektu.

CFileDialog::StartVisualGroup

Deklaruje vizuální skupiny v dialogovém okně.Následné volání jakékoli metody "Přidat" do této skupiny přidat tyto prvky.

CFileDialog::UpdateOFNFromShellDialog

Aktualizuje data uložená v m_ofn odpovídal aktuálnímu stavu v dialogovém okně soubor členské proměnné.

dk77e5e7.collapse_all(cs-cz,VS.110).gifChráněné metody

Název

Description

CFileDialog::OnButtonClicked

Volána, když je stisknuto tlačítko.

CFileDialog::OnCheckButtonToggled

Volána, když je kontrolována/nezaškrtnuté políčko.

CFileDialog::OnControlActivating

Volána, když ovládací prvek je právě aktivní.

CFileDialog::OnFileNameChange

Zpracovává WM_NOTIFY CDN_SELCHANGE zpráva.

CFileDialog::OnFileNameOK

Ověří zadané v dialogovém okně název souboru.

CFileDialog::OnFolderChange

Zpracovává WM_NOTIFY CDN_FOLDERCHANGE zpráva.

CFileDialog::OnInitDone

Zpracovává WM_NOTIFY CDN_INITDONE zpráva.

CFileDialog::OnItemSelected

Volána, když je vybrána položka kontejneru.

CFileDialog::OnLBSelChangedNotify

Umožňuje provést vlastní výběr souboru změní.

CFileDialog::OnShareViolation

Úchyty sdílení porušení.

CFileDialog::OnTypeChange

Zpracovává WM_NOTIFY CDN_TYPECHANGE zpráva.

dk77e5e7.collapse_all(cs-cz,VS.110).gifVeřejné datové členy.

Název

Description

CFileDialog::m_ofn

Windows OPENFILENAME struktury.Poskytuje přístup k základní soubor dialogové okno pole parametry.

Poznámky

Běžných dialogových umožňují provádět výběr souboru dialogových oken, například Otevřít soubor a Uložit jako, způsobem, který je v souladu s normami pro Windows.

Můžete použít CFileDialog je s poskytnuty konstruktoru nebo můžete odvodit vlastní třídy dialogového okna z CFileDialog a zápis konstruktoru tak, aby vyhovovala vašim potřebám.V obou případech těchto dialogových oknech, bude se chovat jako standardní dialogová okna knihovny MFC protože jsou odvozeny z Třída CCommonDialog.CFileDialogvyužívá COMMDLG.Soubor knihovny DLL, která je součástí systému Windows.

Vzhled a funkce CFileDialog s Windows Vista se liší od dřívějších verzích systému Windows.Výchozí CFileDialog automaticky používá nová Windows Vista styl bez změny kódu, pokud zkompilovaný program a spustit pod Windows Vista.Použití bVistaStyle parametr konstruktoru ručně přepsat automatickou aktualizaci.Výjimkou automatické aktualizace je vlastní dialogová okna.Nesmí být převedeny na nový styl.Další informace o konstruktor viz CFileDialog::CFileDialog.

[!POZNÁMKA]

ID systému řízení se liší v Windows Vista z dřívějších verzí systému Windows při použití CFileDialog.Je nutné aktualizovat všechny odkazy na CFileDialog prvky v kódu dříve, než je převést projekt z dřívější verze systému Windows.

Některé CFileDialog metody nejsou podporovány v Windows Vista.Zkontrolujte jednotlivé metody téma informace o tom, zda je metoda podporovány.Kromě toho nejsou podporovány následující funkce zděděné pod Windows Vista:

Zprávy systému windows CFileDialog lišit v závislosti na operačním systému pomocí třídy.Například systém Windows XP nepodporuje CDialog::OnCancel a CDialog::OnOK u CFileDialog třídy.Však Windows Vista podpory.Další informace o různých zpráv, které jsou generovány a pořadí jejich přijetí naleznete CFileDialog vzorku: pořadí událostí protokolování.

Použití CFileDialog objekt, nejprve vytvořit objekt pomocí CFileDialog konstruktor.Poté, co bylo vyrobeno dialogovém okně, můžete nastavit nebo změnit všechny hodnoty v CFileDialog::m_ofn struktury inicializace hodnoty nebo státy prvkům dialogového okna.m_ofn Struktury je typu OPENFILENAME.Další informace naleznete NÁZEV_OTEVŘENÉHO_SOUBORU struktury v Windows SDK.

Po můžete inicializovat ovládací prvky dialogového okna, volat CFileDialog::DoModal metoda zobrazit dialogové okno pole, takže uživatel může zadat cestu a název.DoModalVrátí se, zda uživatel klepl tlačítko Storno (IDCANCEL) nebo OK (IDOK).Pokud DoModal vrátí IDOK, můžete použít jednu z CFileDialog do veřejné členské funkce načíst informace uživatele.

[!POZNÁMKA]

Podle Windows Vista, více volání IFileDialog::SetFileTypes způsobí chybu.Druhé volání SetFileTypes pro všechny instance CFileDialog vrátí E_UNEXPECTED v Windows Vista.Některé CFileDialog metoda funkce volání SetFileTypes.Například dvě volá CFileDialog::DoModal pro stejnou instanci CFileDialog generuje ASSERT.

CFileDialogzahrnuje několik chráněné členy, které umožňují provést vlastní zpracování narušení sdílení, ověřování názvů souborů a oznámení o změně pole seznamu.Tyto chráněné členy jsou funkce zpětného volání, které většina aplikací není nutné používat, protože výchozí zpracování je provedeno automaticky.Mapu zpráv položky pro tyto funkce nejsou požadovány, protože jsou standardní virtuální funkce.

Pomocí systému Windows CommDlgExtendedError funkce zjistit, zda došlo k chybě během inicializace dialogového okna a další informace o chybě.

Zničení CFileDialog objektů je automaticky zpracována.Není nutné volat CDialog::EndDialog.

Umožňují uživateli vybrat více souborů nastavena OFN_ALLOWMULTISELECT příznak před voláním DoModal.Musíte zadat vlastní vyrovnávací paměť názvu souboru pojmout vrácené seznam více názvů souborů.To lze provést nahrazením m_ofn.lpstrFile ukazatel na vyrovnávací paměť můžete mít přidělena, po sestavení CFileDialog, ale před voláním DoModal.

Navíc musíte nastavit m_ofn.nMaxFile pomocí počet znaků ve vyrovnávací paměti odkazuje m_ofn.lpstrFile.Pokud nastavíte maximální počet souborů k n, je velikost vyrovnávací paměti požadované n * (_MAX_PATH + 1) + 1.První položky vrácené ve vyrovnávací paměti je cesta ke složce, kde byly vybrané soubory.Pro Windows Vista-styl dialogových oknech řetězce názvu adresáře a souboru jsou zakončený, navíc znakem null po poslední název souboru.Tento formát umožňuje dialogová okna Průzkumník stylů vrátit dlouhé názvy souborů, které obsahují mezery.Starý styl dialogových řetězce názvu adresáře a souboru jsou odděleny mezerami a funkce používá krátké názvy souborů pro názvy s mezerami.

Následující příklad demonstruje použití vyrovnávací paměti pro načtení a seznam více názvů souborů.

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

Změna velikosti vyrovnávací paměti jako odpověď uživateli vybrat více názvů souborů, musí odvodit novou třídu z CFileDialog a přepsat CFileDialog::OnFileNameChange metoda.

Je-li odvodit novou třídu z CFileDialog, můžete použít mapu zpráv zpracovat všechny zprávy.Rozšířit zpracování zprávy výchozí, odvodit třídu z CFileDialog, přidání nové třídy zprávu mapy a poskytují členské funkce pro nové zprávy.Není třeba poskytnout háčkem funkci přizpůsobení dialogového okna.

Přizpůsobení dialogového okna, odvodit třídu z CFileDialog, poskytují vlastní dialogové okno šablony pole a přidat mapu zpráv pro zpracování zpráv oznámení z rozšířené ovládací prvky.Všechny nezpracované zprávy předáte základní třídy.Není třeba přizpůsobit funkce zavěšení.

Při použití Windows Vista styl CFileDialog, nelze použít zprávu mapy a dialogové okno šablony pole.Místo toho musíte použít rozhraní modelu COM pro podobné funkce.

Další informace o použití CFileDialog, viz Běžné třídy dialogové okno.

Hierarchii dědičnosti

Třídy CObject

Třídy CCmdTarget

CWnd

CDialog

CCommonDialog

CFileDialog

Požadavky

**Záhlaví:**afxdlgs.h

Viz také

Referenční dokumentace

Třída CCommonDialog

Diagram hierarchie