Struktura OPENFILENAME zawiera informacje, które funkcje GetSaveFileName i GetOpenFileName za pomocą zainicjować otwarte lub zapisaćjako wspólne okno dialogowe. Po użytkownik zamyka okno dialogowe, system zwraca informacje o wybór użytkownika w tej struktury .
element TypeDef struct tagOFN {/ / ofn DWORD lStructSize;
HWND hwndOwner;
Wystąpienie HINSTANCE wystąpienie hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Znaczników;
Program WORD nFileOffset;
Program WORD nFileExtension;
LPCTSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} OPENFILENAME
Jeśli jest ustawiona flaga OFN_EXPLORER, system używa określonego szablonu do utworzenia okno dialogowe, która jest elementem podrzędnym okna dialogowego domyślnego stylu Eksploratora. Jeśli nie jest ustawiona flaga OFN_EXPLORER, system używa tego szablonu do tworzenia okno dialogowe w starym stylu, który zastępuje domyślne, okno dialogowe.
Pierwszy ciąg z każdej pary jest ciąg wyświetlany, który opisuje filtru (na przykład "pliki tekstowe"), a drugi ciąg określa wzorzec filtru (na przykład "*.TXT „). Do określania wielu wzorców filtr ciągu wyświetlania pojedynczego obrazu, użyj średnika, aby oddzielić wzorców (na przykład "*.TXT; *.DOC; *.BAK"). Ciąg wzorzec może być kombinacją znaków prawidłową nazwę pliku i symbolem wieloznacznym w postaci gwiazdki **. Nie zawierają spacji w ciągu wzorca.
System nie zmienia kolejność filtrów. Wyświetla je w polu kombitypów plikóww kolejności określonej w lpstrFilter .
Jeśli lpstrFilter ma wartość NULL, okno dialogowe nie wyświetla żadnych filtrów.
Jeśli ten element ma wartość NULL, okno dialogowe nie pozwala zachować zdefiniowane przez użytkownika filtr desenie.
Jeśli ten członek nie ma wartości NULL, wartość członka nMaxCustFilter należy określić rozmiar, w bajtach (wersja ANSI) lub znaków 16-bitowych (wersja Unicode), buforu lpstrCustomFilter.
Jeśli nFilterIndex jest zero, a lpstrCustomFilter ma wartość NULL, system używa pierwszego filtr w buforze lpstrFilter . Jeśli wszyscy trzej członkowie są zero lub wartość NULL, system nie używa żadnych filtrów i nie wykazują żadnych plików w formant listy plików okna dialogowego.
Jeśli jest ustawiona flaga OFN_ALLOWMULTISELECT, a użytkownik zaznaczy wiele plików, bufor zawiera bieżący katalog następują nazwy wybranych plików. Dla stylu Eksploratora okien dialogowych ciągi katalogu i pliku są NULL oddzielone znakiem NULL dodatkowych po ostatnim nazwa_pliku. Dla okien dialogowych w starym stylu ciągi są oddzielone spacjami, a funkcja używa krótkie nazwy plików dla nazwy plików spacjami. Można użyć funkcji FindFirstFile funkcji konwersji między długie i krótkie nazwy plików.
Jeśli bufor jest zbyt mały, funkcja zwraca wartość FALSE, a funkcja CommDlgExtendedError zwraca wartość FNERR_BUFFERTOOSMALL. W tym przypadku pierwsze dwa bajty bufora lpstrFile zawierają wymagany rozmiar, w bajtach, czy znaki.
Windows NT 5.0 lub nowszy; System Windows 98 lub nowszym:
Jeśli lpstrInitalDir ma wartość NULL, a bieżący katalog zawiera wszystkie pliki typu określony filtr, katalogu początkowego jest bieżący katalog.
Jeśli lpstrInitalDir ma wartość NULL, a bieżący katalog nie zawiera żadnych plików typu określony filtr, katalogu początkowego jest katalog plików osobistych, bieżącego użytkownika. Aby określić katalog plików osobistych bieżącego użytkownika w katalogu początkowego, należy ustawić lpstrInitialDir w ścieżce zwracanej przez wywołanie SHGetSpecialFolderLocation funkcji flagą CSIDL_PERSONAL.
Wcześniejsze wersje systemu Windows i Windows NT:
Jeśli lpstrInitalDir ma wartość NULL, katalogu początkowego jest bieżący katalog.
Flaga | Znaczenie |
---|---|
OFN_ALLOWMULTISELECT | |
Określa, że pliku Nazwa pola listy zezwala na wiele zaznaczeń. Ustawienie flagi OFN_EXPLORER okno dialogowe używa interfejsu użytkownika stylu Eksploratora; w przeciwnym razie korzysta z interfejsu użytkownika w starym stylu. Jeśli użytkownik zaznaczy więcej niż jeden plik, bufor lpstrFile zwraca ścieżkę do katalogu bieżącego następują nazwy wybranych plików. Członek nFileOffset jest przesunięcie w bajtach, czy znaki, pierwszy nazwę pliku, a element nFileExtension nie jest używany. Dla stylu Eksploratora okien dialogowych ciągi katalogu i pliku są NULL oddzielone znakiem NULL dodatkowych po ostatnim nazwa_pliku. Ten format pozwala okna dialogowe stylu Eksploratora przywrócić długie nazwy plików, które zawierają spacje. Dla okien dialogowych w starym stylu ciągi katalogu i pliku są oddzielone spacjami, a funkcja używa krótkie nazwy plików dla nazwy plików spacjami. Można użyć funkcji FindFirstFile funkcji konwersji między długie i krótkie nazwy plików. Jeśli podasz niestandardowy szablon dla okno dialogowe w starym stylu, definicji pola listy Nazwa pliku musi zawierać wartość LBS_EXTENDEDSEL. |
|
OFN_CREATEPROMPT | |
Jeśli użytkownik określa plik, który nie istnieje, ta flaga powoduje, że okno dialogowe monitował użytkownika o zgodę na utworzenie pliku. Jeśli użytkownik zdecyduje się do utworzenia pliku, okno dialogowe zostanie zamknięte i funkcja zwraca określoną nazwą; w przeciwnym razie okno dialogowe pozostaje otwarta. Jeśli flaga ta zostanie użyta z flagą OFN_ALLOWMULTISELECT, okno dialogowe pozwala użytkownikowi określić tylko jeden plik nieistniejący. | |
OFN_ENABLEHOOK | |
Włącza funkcję hak określonego członka lpfnHook. | |
OFN_ENABLESIZING | |
Systemu Windows NT w wersji 5.0, system Windows 98:Umożliwia oknie dialogowym stylu Eksploratora można zmieniać ich rozmiarów za pomocą myszy lub klawiatury. Domyślnie okna dialogowe stylu Eksploratora Otwórz i Zapisz jako umożliwia okno dialogowe do rozmiaru niezależnie od tego, czy ta flaga jest ustawiona. Ta flaga jest konieczne tylko wtedy, gdy zostanie określona procedura haka lub niestandardowy szablon. Okno dialogowe w starym stylu nie zezwala na zmianę rozmiaru. | |
OFN_ENABLETEMPLATE | |
Wskazuje, że element lpTemplateName wskazuje nazwę zasobu szablonu okna dialogowego w module zidentyfikowane przez członka wystąpienie hInstance. Jeśli jest ustawiona flaga OFN_EXPLORER, system używa określonego szablonu do utworzenia okno dialogowe, która jest elementem podrzędnym okna dialogowego domyślnego stylu Eksploratora. Jeśli nie jest ustawiona flaga OFN_EXPLORER, system używa tego szablonu do tworzenia okno dialogowe w starym stylu, który zastępuje domyślne, okno dialogowe. |
|
OFN_ENABLETEMPLATEHANDLE | |
Wskazuje, że wystąpienie hInstance Członkowskich identyfikuje bloku danych, zawierający szablon pole dialogowe wstępnie. System ignoruje lpTemplateName , jeśli ta flaga jest określona. Jeśli jest ustawiona flaga OFN_EXPLORER, system używa określonego szablonu do utworzenia okno dialogowe, która jest elementem podrzędnym okna dialogowego domyślnego stylu Eksploratora. Jeśli nie jest ustawiona flaga OFN_EXPLORER, system używa tego szablonu do tworzenia okno dialogowe w starym stylu, który zastępuje domyślne, okno dialogowe. |
|
OFN_EXPLORER | |
Wskazuje, że wszelkie dostosowania do okna dialogowego Otwórz i Zapisz jako używać nowych metod dostosowywania stylu Eksploratora. Aby uzyskać więcej informacji zobacz Stylu Eksploratora Hook procedur i Stylu Eksploratora niestandardowe szablony. Domyślnie okna dialogowego Otwórz i Zapisz jako używają interfejsu użytkownika stylu Eksploratora niezależnie od tego, czy ta flaga jest ustawiona. Ta flaga jest konieczne tylko wtedy, gdy procedura haka lub niestandardowy szablon lub ustawić flagę OFN_ALLOWMULTISELECT. Jeśli chcesz, aby interfejs użytkownika w starym stylu, pomijać flagę OFN_EXPLORER i dostarczają szablonu w starym stylu zastępczego lub spinanie procedury. Jeśli styl życia, ale nie potrzebują niestandardowy szablon lub spinanie procedurę, po prostu zapewnić procedura haka, która zawsze zwraca FALSE. |
|
OFN_EXTENSIONDIFFERENT | |
Określa, że użytkownik wpisał rozszerzenie nazwy pliku, która różni się od rozszerzenie określone przez lpstrDefExt. Funkcja nie używać tej flagi, jeśli lpstrDefExt ma wartość NULL. | |
OFN_FILEMUSTEXIST | |
Określa, że użytkownik może wpisać tylko nazwy istniejących plików w polu zapis pliku Nazwa . Jeśli flaga ta jest określona, a użytkownik wprowadzi nieprawidłową nazwę, procedury pole dialogowe wyświetla ostrzeżenie w oknie komunikatu. Jeśli ta flaga jest określony, również służy Flaga OFN_PATHMUSTEXIST. | |
OFN_HIDEREADONLY | |
Ukrywa odczytu tylko pole wyboru. | |
OFN_LONGNAMES | |
Dla okien dialogowych w starym stylu ta flaga powoduje, że okno dialogowe do Użyj długich nazw plików. Jeśli ta flaga nie jest określony lub też jest ustawiona flaga OFN_ALLOWMULTISELECT, starym stylu okien dialogowych za pomocą krótkie nazwy plików (8.3 format) dla nazwy plików spacjami. Stylu Eksploratora oknach dialogowych zignorować tę flagę i zawsze wyświetlić długie nazwy plików. |
|
OFN_NOCHANGEDIR | |
Przywraca pierwotną wartość bieżącego katalogu, jeśli użytkownik zmienił katalogu podczas wyszukiwania plików. | |
OFN_NODEREFERENCELINKS | |
Kieruje okno dialogowe zwraca ścieżkę i nazwę pliku zaznaczony skrót (.Pliku LNK). Jeśli ta wartość nie jest podany, okno dialogowe zwraca ścieżkę i nazwę pliku wskazaną przez skrótu | |
OFN_NOLONGNAMES | |
Dla okien dialogowych w starym stylu ta flaga powoduje, że okno dialogowe umożliwia krótkie nazwy plików (8.3 format). Stylu Eksploratora oknach dialogowych zignorować tę flagę i zawsze wyświetlić długie nazwy plików. |
|
OFN_NONETWORKBUTTON | |
Ukrywa i wyłącza przycisk sieć. | |
OFN_NOREADONLYRETURN | |
Określa, że zwrócone pliku nie odczytu tylko pola wyboru zaznaczone i nie znajduje się w katalogu z zapisem. | |
OFN_NOTESTFILECREATE | |
Określa, że plik nie jest tworzony, zanim okno dialogowe jest zamknięte. Flaga ta powinna być określona, jeżeli aplikacji zapisuje plik na dysku sieciowym utwórz nonmodify. Gdy aplikacja określa tę flagę, biblioteki nie sprawdza zabezpieczenie przed zapisem, dysku, otwórz dysk lub ochrona sieci. Aplikacje używające tej flagi musi wykonać operacje na plikach ostrożnie, ponieważ plik nie może zostać otwarte ponownie, po jej zamknięciu. | |
OFN_NOVALIDATE | |
Określa, że wspólnego okna dialogowego pozwala nieprawidłowe znaki w zwróconym nazwa_pliku. Zazwyczaj aplikacji wywołującej używa procedura haka, który sprawdza nazwę pliku przy użyciu wiadomości FILEOKSTRING. Jeśli pole tekst w formancie edycyjnym jest pusty lub zawiera tylko spacje, listy plików i katalogów są aktualizowane. Jeśli pole tekst w formancie edycyjnym zawiera coś innego, nFileOffset i nFileExtension są ustawione na wartości generowane przez analizowanie tekstu. Nie domyślne rozszerzenie dodaje się do tekstu, ani nie jest tekst skopiowany do buforu określony przez lpstrFileTitle. | |
Jeśli wartość określona przez nFileOffset jest mniejsze od zera, nazwa pliku jest nieprawidłowa. W przeciwnym razie nazwa pliku jest prawidłowa, a nFileExtension i nFileOffset może być używana tak, jakby miał nie określono flagę OFN_NOVALIDATE. | |
OFN_OVERWRITEPROMPT | |
Powoduje Zapisywanie W oknie dialogowym do generowania okno komunikatu, jeśli wybrany plik już istnieje. Użytkownik musi potwierdzić, czy należy zastąpić plik. | |
OFN_PATHMUSTEXIST | |
Określa, że użytkownik może wpisać tylko prawidłowe ścieżki i nazwy plików. Jeśli ta flaga jest stosowana, a użytkownik wpisze nieprawidłową ścieżkę i nazwę pliku w polu wpisnazwy pliku, funkcja pole dialogowe wyświetla ostrzeżenie w oknie komunikatu . | |
OFN_READONLY | |
Powoduje, że odczytu tylko pole wyboru sprawdzany początkowo tworzenia okna dialogowego. Ta flaga wskazuje stan odczytu tylko pole wyboru, gdy to okno dialogowe jest zamknięte. | |
OFN_SHAREAWARE | |
Określa, że jeśli wywołanie do funkcji OpenFile kończy się niepowodzeniem z powodu sieci nastąpiło naruszenie zasad współużytkowania, błąd zostanie zignorowany i okno dialogowe zwraca nazwę wybranego pliku. Jeśli ta flaga nie jest ustawiona, okno dialogowe powiadamiające procedura haka wystąpieniu sieci nastąpiło naruszenie zasad współużytkowania dla nazwy pliku określonej przez użytkownika. Ustawienie flagi OFN_EXPLORER okno dialogowe wysyła komunikat CDN_SHAREVIOLATION procedura haka. Jeśli OFN_EXPLORER nie zostanie ustawiona, okno dialogowe wysyła wiadomości zarejestrowanych SHAREVISTRING procedura haka. |
|
OFN_SHOWHELP | |
Powoduje, że okno dialogowe wyświetlić przycisk Pomoc . Państwa hwndOwner należy określić, że okno, aby otrzymać HELPMSGSTRING zarejestrowane komunikaty, które okna dialogowego wysyła wówczas, gdy użytkownik kliknie przycisk Pomoc. Okno dialogowe stylu Eksploratora wysyła wiadomość z powiadomieniem CDN_HELP do procedura haka, gdy użytkownik kliknie przycisk Pomoc. |
Jeśli użytkownik zaznaczy więcej niż jeden plik, nFileOffset jest przesunięcie do pierwszego nazwa_pliku.
Jeżeli w Państwa flagi nie jest ustawiona flaga OFN_EXPLORER, lpfnHook jest wskaźnik procedura haka OFNHookProcOldStyle , odbierająca wiadomości przeznaczonych dla okna dialogowego. Procedura haka zwraca FALSE, aby przekazać wiadomości do procedury pole dialogowe domyślne lub wartość PRAWDA, aby odrzucić wiadomości.
Ustawienie OFN_EXPLORER lpfnHook jest wskaźnik procedura haka OFNHookProc . Procedura haka odbiera powiadomienie wiadomości wysyłane z okna dialogowego. Procedura haka otrzymuje również wiadomości wszelkie dodatkowe kontrole, zdefiniowanych przez określenie szablonu okno dialogowe dziecka. Procedura haka nie otrzyma wiadomości przeznaczonych dla formantów standardowych domyślne, okno dialogowe.
Jeśli jest ustawiona flaga OFN_EXPLORER, system używa określonego szablonu do utworzenia okno dialogowe, która jest elementem podrzędnym okna dialogowego domyślnego stylu Eksploratora. Jeśli nie jest ustawiona flaga OFN_EXPLORER, system używa tego szablonu do tworzenia okno dialogowe w starym stylu, który zastępuje domyślne, okno dialogowe.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w commdlg.h.
Unicode:Zdefiniowane jako struktur Unicode i ANSI.
Wspólny omówienie biblioteki okna dialogowego, wspólnych struktur pole dialogowe, GetOpenFileName, GetSaveFileName, SHGetSpecialFolderLocation