C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 4.17 - Имена файлов и каталоги / Cтандартные диалоговые окна / Win32 API

4.17 - Имена файлов и каталоги

Информация в этом разделе применяется для диалоговых окон Открыть (Open) и Сохранить как (Save As) как в стиле Проводника, так и в старом стиле.

Перед вызовом функции GetOpenFileName или GetSaveFileName, элемент lpstrFile структуры OPENFILENAME должен указывать на буфер, который примет имя файла. Элемент nMaxFile должен определять размер, в байтах (для версии ANSI) или символах (для версии Уникода), буфера lpstrFile.

Если пользователь задает имя файла и щелкает мышью по кнопке OK, диалоговое окно копирует выбранный диск, каталог и имя файла в буфер lpstrFile. Функция также устанавливает элементы nFileOffset и nFileExtension со смещением, в байтах или символах, с самого начала буфера для имени файла и для расширения имени файла, соответственно.

Чтобы извлечь только имя файла и расширение, установите элемент lpstrFileTitle так, чтобы он указывал на буфер, а в элементе nMaxFileTitle установите размер, в байтах (версия ANSI) или символах (версия Уникода), буфера. Или же, вы можете передать буфер lpstrFile при вызове функции GetFileTitle, чтобы получить отображение имени выбранного файла. Однако обратите внимание, что имя файла, которое GetFileTitle возвращает, включает в себя расширение только в том случае, если это является выбором пользователя для отображающихся имен файлов.

Диалоговое окно использует текущий каталог для процесса вызова в качестве начального каталога от которого отображаются файлы и каталоги. Используйте функции GetCurrentDirectory или SetCurrentDirectory, чтобы получить или изменить ваш текущий каталог. Чтобы определить другой начальный каталог без изменения вашего текущего каталога, используйте элемент lpstrInitialDir, для определения имени каталога. Диалоговое окно автоматически изменит ваш текущий каталог, когда пользователь выберет другой диск или каталог. Чтобы диалоговому окну запретить изменять ваш текущий каталог, установите флажок OFN_NOCHANGEDIR. Этот флажок не мешает пользователю изменять каталоги для поиска файла.

Чтобы определить заданное по умолчанию расширение имени файла, используйте элемент lpstrDefExt. Если пользователь задает имя файла, которое не имеет расширения, диалоговое окно добавляет свое заданное по умолчанию расширение. Если вы определяете заданное по умолчанию расширение, а пользователь определяет имя файла с другим расширением, диалоговое окно устанавливает флажок OFN_EXTENSIONDIFFERENT.

Чтобы позволить пользователю выбрать из каталога несколько файлов, установите флажок OFN_ALLOWMULTISELECT. Для совместимости со старыми прикладными программами, заданное по умолчанию диалоговое окно многокомпонентного выбора использует пользовательский интерфейс старого стиля. Чтобы показать диалоговое окно многокомпонентного выбора в стиле Проводника, вы должны к тому же установить флажок OFN_EXPLORER.

Если пользователь выбирает больше чем один файл, буфер, указанный элементом lpstrFile возвращает путь к текущему каталогу, сопровождаемому именами выбранных файлов. Элемент nFileOffset - смещение, для первого имени файла, а элемент nFileExtension не используется. Следующая таблица описывает различие между диалоговыми окнами в стиле Проводника и в старом стиле при возврате большого числа имен файлов.

  • Диалоговое окно в стиле Проводника - Строки каталога и имени файла отделяются значением ПУСТО (NULL), с дополнительным символом NULL после последнего имени файла. Этот формат дает возможность диалоговым окнам в стиле Проводника возвращать длинные имена файла, которые включают пробелы.
  • Диалоговое окно старого стиля - Строки каталога и имени файла отделяются пробелами. Для имен файла с пробелами, функция использует короткие имена файлов.

| |
Автор Владимир Соковиков.
[AD]