Otwórz i Zapisz jako okien dialogowych

Okno dialogowe Otwórz umożliwia użytkownikowi określenie dysku, katalogu i nazwę pliku lub zestawu plików, aby otworzyć. Tworzenie i wyświetlanie otwarte okno dialogowe Inicjowanie struktura OPENFILENAME i przekazywanie struktury funkcji GetOpenFileName.

Okno dialogowe Zapisz jako umożliwia użytkownikowi określenie dysku, katalogu i nazwę pliku do zapisania. Tworzenie i wyświetlanie okna dialogowego Zapisz jako inicjowanie struktura OPENFILENAME i przekazywanie struktury funkcji GetSaveFileName.

Począwszy od systemu Windows 95 i Windows NT w wersji 4.0, nową wersję okna dialogowego Otwórz i Zapisz jako zapewnia funkcje interfejsu użytkownika, które są podobne do Eksploratora Windows. Jednakże system będzie nadal obsługuje pola okna dialogowego Otwórz i Zapisz jako w starym stylu dla aplikacji, które muszą być zgodne z starszy interfejs użytkownika.

Oprócz różnica w wyglądzie stylu Eksploratora i w starym stylu okien dialogowych różnią się pod względem ich użycia szablony niestandardowe i spinanie procedury dostosowywania w oknach dialogowych. Jednak stylu Eksploratora i w starym stylu okien dialogowych mają takie samo zachowanie dla najbardziej podstawowe operacje, takie jak określając filtr filename, sprawdzanie poprawności danych wejściowych użytkownika i pobieranie pliku określonego przez użytkownika. Aby uzyskać więcej informacji o stylu Eksploratora i w starym stylu okien dialogowych zobacz Otwieranie i zapisywanie jako okno dialogowe Dostosowywanie pole.

Na następującej ilustracji pokazano typową stylu Eksploratora otwarte okno dialogowe.

Na następującej ilustracji pokazano typową stylu eksploratora, Zapisz jako okno dialogowe pole.

Jeśli użytkownik określa nazwę pliku i klika przycisk OK , GetOpenFileName lub GetSaveFileName zwraca wartość TRUE. Bufor wskazywanego przez członka lpstrFile struktury OPENFILENAME zawiera pełną ścieżkę i nazwę pliku określonego przez użytkownika.

Jeśli użytkownik anuluje okna dialogowego Otwórz i Zapisz jako lub wystąpi błąd, funkcja zwraca wartość FALSE. Aby ustalić przyczynę błędu, należy wywołać funkcję CommDlgExtendedError , aby pobrać wartość błędu rozszerzonego. Jeśli bufor lpstrFile jest zbyt mały, aby otrzymać pełną nazwę, CommDlgExtendedError zwraca wartość FNERR_BUFFERTOOSMALL i pierwsze 2 bajty bufora wskazywanego przez członka lpstrFile są ustawione na wartość całkowitą, określając rozmiar wymaganych do otrzymania pełnej nazwy.

Eksplorator stylów oknach dialogowych są tylko dostępne aplikacje 32-bitowe. aplikacje 16-bitowe nie można używać pośredniczeniem aby wyświetlić okno dialogowe stylu Eksploratora.

Systemu Windows 95 i Windows 98: Aplikacje oparte na Win32, które korzystają z okna dialogowego w starym stylu to zrobić używając thunk. Oznacza to, że każdy wskaźnik przekazany do procedury haka jest nietrwałych kopię danych. Na przykład wskaźnik OPENFILENAME przekazany w wiadomości WM_INITDIALOG nie jest wskaźnik do buforu, który pierwotnie określony. Jeżeli trzeba przekazać dane prywatne procedura haka, zawierać w strukturze i przechowywać wskaźnika do struktury członka lCustData struktury OPENFILENAME.

Index