Где находится диалоговое окно открытие файла
Обновлено: 07.07.2024
15 декабря 2020 mob25
На этом шаге мы рассмотрим использование диалогового окна Open.
Вероятно, в Windows нет функции, применяемой в приложениях чаще, чем открытие документа. Так как эта функция требуется очень часто, и
разработчики среды Windows хотели, чтобы данная задача обрабатывалась одинаково в различных приложениях, начиная с версии Windows 3.1 было
добавлено стандартное диалоговое окно "Открытие файла" ("Open"). OWL инкапсулирует это диалоговое окно в класс
TFileOpenDialog. TFileOpenDialog является производным классом от класса TOpenSaveDialog, который определяет базовые функции
стандартных диалоговых окон "Открытие файла" ("Open") и "Сохранение файла" ("Save").
Все классы стандартных диалоговых окон библиотеки OWL, в том числе и TOpenSaveDialog, включают встроенный класс с названием
TData. TData представляет собой структуру, которая содержит информацию о том, как должно выглядеть стандартное диалоговое окно и
как оно должно работать. Каждое стандартное диалоговое окно требует класс TData различного типа. Например, класс TData объекта TOpenSaveDialog содержит
такую информацию, как задаваемое по умолчанию имя файла, шаблоны имени файла, заданное по умолчанию расширение файла и первоначально выбранный каталог. С другой стороны, объект класса
TData, относящийся к диалоговому окну TChooseColorDialog, содержит такую информацию, как цвет, задаваемый по умолчанию, и массив цветов,
определяемых пользователем.
За исключением соответствующего классу объекта типа TData, вам не нужен доступ к каким-либо членам-данным либо функциям-членам класса
TOpenSaveDialog. Фактически вам даже не нужно использовать конструктор TOpenSaveDialog. Вместо него вам следует вызвать конструкторы
окон TFileOpenDialog или TFileSaveDialog. Следующий пример показывает, как использовать стандартное диалоговое окно
"Открытие файла" ("Open").
Текст этого приложения можно взять здесь.
При запуске этой программы вы увидите окно, показанное на рис.1.
Рис.1. Результат работы приложения
Это окно имеет единственный пункт меню File, который содержит команды
Open File и Exit. Выберите команду Open File, чтобы отобразить в Windows окно диалога Open, приведенное на рис.2.
Рис.2. Диалоговое окно "Открытие файла"
Обратите внимание на находящуюся в начале текста программы строку:
Вы должны включать заголовочный файл OPENSAVE.H в любую программу, которая использует классы диалоговых окон, производные от TOpenSaveDialog.
Однако, в отличие от класса ТInputDialog, вам не нужно добавлять файл ресурсов к своему проекту для стандартных диалоговых окон. Это вызвано тем, что
стандартные диалоговые окна находятся в COMMDLG.DLL - библиотеке диалоговых окон, включенной в Windows.
Эта функция сначала конструирует объект TData для диалогового окна. Версия объекта TData для класса TOpenSaveDialog имеет конструктор, требующий пять аргументов.
Первым является набор флагов, которые определяют, как диалоговое окно будет выглядеть и работать. Таблица 1 содержит список констант, являющихся значениями этих флагов. Чтобы придать диалоговому окну Open такой вид,
какой вы хотите, вы должны произвести операцию логического сложения (OR) над соответствующими флагами. В приведенном примере флаги указывают, что пользователь не может выбрать (создать) несуществующие файлы и пути,
и кнопка-переключатель "только чтение" ("read-only") не будет показана в этом диалоговом окне.
Таблица 1. Константы флагов TOpenSaveDialog::TData
Имя | Описание |
---|---|
OFN_ALLOWMULTISELECT | Разрешает множественный выбор файлов. |
OFN_CREATEPROMPT | Спрашивать, желает ли пользователь создать файл, если он не существует. |
OFN_EXTENSIONDIFFERENT | Извещает вызывающую программу о том, что выбранный файл имеет расширение, отличное от заданного по умолчанию. |
OFN_FILEMUSTEXIST | Запрещает производить выбор несуществующего файла. |
OFN_HIDEREADONLY | Препятствует отображению кнопки-переключателя "read-only" ("только чтение"). |
OFN_NOVALIDATE | Не проверять имя выбранного файла. |
OFN_NOCHANGEDIR | Переустанавливает каталог в текущий каталог в момент запуска окна диалога. |
OFN_NOREADONLYRETURN | Извещать вызывающую программу, когда выбранный файл не помечен только для чтения и не защищен от записи. |
OFN_NOTESTFILECREATE | Устанавливает режим создания файла без предварительного контроля таких ошибок как полный или недоступный диск. |
OFN_OVERWRITEPROMPT | Запрашивает у пользователя разрешение на перезапись существующего файла. |
OFN_SHAREAWARE | Возвращает имя выбранного файла, даже если существует конфликт при совместном использовании файлов. |
OFN_SHOWHELP | Показывает кнопку "Help" диалогового окна. |
Большинство этих параметров можно задать после создания объекта TData. В конце этого шага мы приведем структуру объекта TData для класса TOpenSaveDialog.
Понятно, что большинство флагов, приведенных в таблице 1, не используются в диалоговом окне Open, так как выбранный пользователем файл открывается для чтения, а не для записи. Однако, так как класс TOpenSaveDialog является базовым
для классов TFileOpenDialog и TFileSaveDialog диалоговых окон, то объект TDatа должен поддерживать задачи как открытия, так и сохранения файлов.
Второй аргумент в конструкторе TOpenSaveDialog::TData представляет собой список фильтров имен файлов, которые должны будут появиться в окне списка фильтров имен файлов окна диалога. Вы можете включать столько фильтров, сколько вам
необходимо, но каждый фальтр должен быть записан в следующей форме:
где text представляет собой описание фильтра файла, которое появляется в окне списка, a filter - реальный фильтр DOS. В приведенном примере фильтр для выбора любого файла представлен текстом
Все файлы (*.*) и фильтром DOS *.*. Так же определен фильтр для текстовых файлов. Этот фильтр содержит текст
Текстовые файлы (*.txt) и фильтр DOS *.txt. Вы можете перечислить столько таких фильтров, сколько захотите.
Третий аргумент в конструкторе TOpenSaveDialog::TData позволяет вам добавить указатель к буферу для хранения заданных пользователем фильтров. Этот буфер почти всегда устанавливается в нулевое значение (NULL).
Четвертый аргумент - это начальный каталог, в котором будет открываться диалоговое окно. Для текущего каталога установите этот аргумент в 0. Наконец, пятый аргумент - это расширение, которое будет добавляться к любому имени файла,
вводимому пользователем без расширения. Например, если вы ожидаете, что пользователь должен выбрать текстовый файл с расширением ТХТ, вы можете задать ТХТ по умолчанию в TData. Тогда, если пользователь
введет STORY1 в качестве имени файла, эта функция возвратит STORY1.TXT.
После того, как функция создала объект TData, возвратимся к CmFileOpen(). Она конструирует диалоговое окно Open. Для этого программа вызывает конструктор класса TOpenFileDialog, который требует в качестве
аргументов указатель родительского окна создаваемого диалогового окна и ссылку на объект TData диалогового окна. Вызов функции Execute() диалогового окна активизирует окно диалога и разрешает пользователю использовать его
управляющие элементы для выбора файла.
Приведем описание структуры объекта TData для класса TOpenSaveDialog.
- char* CustomFilter - хранит определенный пользователем фильтр, например *.CPP.
- char* DefExt - задает расширенние имени файла, которое подставляется в файл, если пользователь указал только имя файла.
- unit32 Error - содержит код ошибки. Возможные значения:
- CDERR_DIALODFAILURE - ошибка при создании диалогового окна;
- CDERR_LOCKRESOURCEFAILURE - ошибка при использовании ресурсов;
- CDERR_LOADRESFAILURE - ошибка при обращении к ресурсам;
- CDERR_LOADSTRFAILURE - ошибка при обращении к строке спецификаций.
На следующем шаге мы рассмотрим использование диалогового окна Save.Используйте диалоговое окно Открытие файла, чтобы открыть существующий файл с диска. Это диалоговое окно можно также использовать для повторного открытия уже открытого файла с другими параметрами языковой кодировки.
Для доступа к этому диалоговому окну выберите пункт Открыть в меню Файл , а затем выберите Файл. Это диалоговое окно отображается также при открытии файлов с помощью других элементов интерфейса, например диалогового окна Внешние средства . В меню Файл выберите команду Открыть и пункт Решение или проект , чтобы открыть похожее диалоговое окно Открытие проекта .
Прежде чем открыть проект или компонент в среде Среда Management Studio, определите, заслуживает ли его код доверия. Даже само действие по открытию проекта или компонента в среде Среда Management Studio может привести к выполнению его кода в доверенном процессе на локальном компьютере.
Параметр
Look in
Найти существующую папку проектов в выпадающем меню. Если выбрать папку в этом списке, в основной панели отображается содержимое папки.Моя панель позиций
Рабочий стол
Отображает файлы и папки, находящиеся на рабочем столе.Мои проекты
Отображает файлы и папки, находящиеся в папке Проекты текущего пользователя.Мой компьютер
Отображает содержимое гибкого, жесткого дисков и дисковода для компакт-дисков.Список папок
Имя файла
Используйте этот параметр для фильтрации отображаемых файлов и папок. Введите полное или частичное имя файла, которое будет использоваться фильтром. В качестве символа-шаблона можно использовать символ звездочки (*).Тип файлов
Используйте этот параметр для фильтрации содержимого папки или каталога, выбранного в списке «Папки», по определенному типу файлов.Параметры диалоговых окон «Открыть с помощью» и «Кодировка»
Чтобы воспользоваться диалоговым окном Открыть с помощью для указания редактора целевого файла, щелкните маленький прямоугольник справа от кнопки Открыть и выберите команду Открыть с помощью. В случае необходимости можно также указать схему языковой кодировки, применяемую при открытии выбранного файла. Для этого выберите одну из программ в списке, который содержит слова «в кодировке», и выберите команду Открыть, чтобы отобразить диалоговое окно Кодировка. Эта кнопка доступна не всегда.Панель инструментов
На один уровень вверх
Позволяет перейти в дереве к папке, находящейся на ближайшем вышестоящем уровне в древовидном представлении.Выполнить поиск на веб-узлах
Эта кнопка недоступна.Удаление
Удаляет выбранные файлы и папки из хранилища.Создать папку
Отображает диалоговое окно Создать папку . Используйте этот параметр, чтобы создать новую вложенную папку в папке, выбранной в раскрывающемся списке Папка .Представления
Содержит варианты упорядочивания и просмотра содержимого элемента в раскрывающемся списке Представления .
Эскизы страниц
Отображает уменьшенные представления элементов, находящихся на панели отображения.Плитки
Отображает файлы и папки в виде крупных значков.Значки
Отображает файлы и папки в виде мелких значков.Список
Отображает файлы и папки в формате списка.Сведения
Отображает для файлов и папок имя, размер, тип и дату последнего изменения в формате списка. Чтобы отсортировать список по конкретной характеристике, щелкните заголовок относящегося к ней столбца.WebView
Эта команда недоступна.Инструменты
Выберите действие, применяемое к элементу, выделенному на панели «Содержимое».
Удаление
Удаляет выбранные файлы или папки из хранилища.Подключить сетевой диск
Открывает диалоговое окно Подключить сетевой диск .На этом шаге мы рассмотрим диалоговое окно Открытие документа .
Чтобы открыть рабочую книгу в диалоговом окне Открытие документа (рис. 1), необходимо указать имя файла рабочей книги (в поле Имя файла ) и папку, где он находится (в поле Папка ).
Рис. 1. Диалоговое окно Открытие документаОписываемое диалоговое окно содержит множество различных опций. Если Вам известно, в какой папке находится файл, то самый простой способ — указать папку (поле Папка ), а затем выделить в ней имя нужного файла. Для открытия выбранного файла щелкните на кнопке Открыть или дважды щелкните на имени файла.
- Открыть . Открывает файл в "обычном режиме".
- Открыть только для чтения . Открывает файл в режиме "только для чтения". В этом режиме нельзя сохранить изменения, сделанные в открытом файле.
- Открыть как копию . Открывает копию выбранного файла. Если имя файла Бюджет.xls , то имя открытой книги будет Коп Бюджет.xls .
- Открыть в обозревателе . Открывает файл в обозревателе Web .
Примечание . Вы можете выделить несколько файлов рабочих книг, удерживая нажатой клавишу Ctrl . После щелчка на кнопке Открыть все выделенные файлы рабочих книг откроются.
Щелкнув правой кнопкой мыши на имени файла в диалоговом окне Открытие документа , можно открыть контекстное меню с множеством дополнительных команд. Например, с их помощью можно скопировать файл, удалить его, изменить его свойства и т.д.
Поле Папка является раскрывающимся списком. Щелчок на кнопке раскрытия списка приводит к раскрытию окна, в котором отображаются системные компоненты компьютера. В этом списке можно выбрать другой диск или каталог.
Кнопка Переход на один уровень вверх позволяет переместиться на один уровень вверх в иерархии папок. Также можно щелкнуть на одной из больших кнопок, расположенных на панели в левой части диалогового окна Открытие документа . После этого может быть получен доступ к следующим папкам:
В нижней части диалогового окна Открытие документа находится раскрывающийся список Тип файлов . Когда открывается описываемое диалоговое окно, в списке отображено Все файлы Microsoft Excel . Это означает, что отображаемые в диалоговом окне файлы отфильтрованы по типам. Если Вы хотите открыть файл другого типа, щелкните на кнопке раскрытия списка и выберите нужный тип файла. Таким образом Вы измените способ фильтрации, и в диалоговом окне отобразятся только файлы выбранного типа.
Файлы в диалоговом окне Открытие документа могут отображаться в одном из четырех режимов. Для изменения режима отображения можно воспользоваться кнопкой Представления (рис. 2).
Рис. 2. Кнопка Представление- Список . Имена файлов отображаются в виде списка в нескольких колонках.
- Таблица . Имена файлов отображаются в виде списка с информацией о каждом файле (размер файла, его тип и время последнего изменения).
- Свойства . Имена файлов отображаются в виде списка с выводом свойств выделенного файла в отдельном окне.
- Просмотр . Имена файлов отображаются в виде списка с демонстрацией содержимого выделенного файла в отдельном окне предварительного просмотра.
Открыв меню Сервис (рис. 3), расположенное справа в верхней части окна Открытие документа , будет отображено контекстное меню, содержащее следующие команды:
Рис. 3. Меню Сервис- Найти . Открывает новое диалоговое окно, позволяющее провести поиск конкретных файлов.
- Удалить . Удаляет выбранные файлы.
- Переименовать . Позволяет переименовать выбранный файл.
- Печать . Открывает выбранный файл, печатает его содержимое и закрывает его.
- Добавить в папку "Избранное" . Добавляет в папку Избранное ярлык для выделенного файла.
- Подключить сетевой диск . Открывается диалоговое окно, позволяющее подключить сетевой диск или каталог к выбранному локальному устройству.
- Свойства . Открывается диалоговое окно свойств выделенного файла. Это позволяет просмотреть или изменить свойства файла, не открывая сам файл.
Открытие рабочей книги в Excel можно увидеть здесь, а взять этот клип здесь.
Как правило, в Windows есть два типа диалоговых окон Open / Save. Один вид выглядит как Windows Explorer, дерево слева содержит «Избранное», «Библиотеки», «Компьютер» и т. Д. Другой тип содержит вертикальную панель инструментов, называемую «Панель меток».
Диалоговое окно «Открыть / Сохранить» в стиле проводника Windows можно настроить, добавив свои собственные папки в список «Избранное» . Затем вы можете щелкнуть стрелки слева от основных элементов, кроме избранного, чтобы свернуть их, оставив только список стандартных и пользовательских избранных.
Панель меток расположена в левой части диалогового окна «Открыть / сохранить файл» и содержит кнопки, обеспечивающие доступ к часто используемым папкам. Кнопки по умолчанию на панели мест — это ссылки на «Последние места», «Рабочий стол», «Библиотеки», «Компьютер» и «Сеть». Однако вы изменяете эти ссылки на ссылки на пользовательские папки по вашему выбору.
Мы покажем вам, как настроить панель мест с помощью реестра и с помощью бесплатного инструмента, если вам неудобно вносить изменения в реестр.
Использование реестра
Чтобы открыть редактор реестра, откройте меню «Пуск» и введите «regedit.exe» в поле поиска. Нажмите на ссылку regedit.exe в результатах или нажмите Enter.
Если появится диалоговое окно «Контроль учетных записей», нажмите «Да», чтобы продолжить.
ПРИМЕЧАНИЕ. Это диалоговое окно может не отображаться в зависимости от настроек контроля учетных записей .
Перейдите к следующей клавише:
HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Policies \ comdlg32 \ Placesbar
Ключи comdlg32 и Placesbar могут не существовать. Если нет, вам нужно их создать. Например, чтобы создать ключ comdlg32, щелкните правой кнопкой мыши ключ Policies и выберите New | Ключ.
Новый ключ создан, и текст выделен. Переименуйте новый ключ в «comdlg32».
Добавьте Placesbar в качестве нового ключа под ключом comdlg32.
Выберите ключ Placesbar и щелкните правой кнопкой мыши на правой панели. Выберите Новый | String Value из всплывающего меню.
Переименуйте новое значение Place0. Вы можете создать до 5 записей: Place0, Place1, Place2, Place3, Place4. Вам не нужно определять все пять мест, но они должны быть определены в числовом порядке.
Чтобы определить целевую папку для значения PlaceX, дважды щелкните имя значения.
В окне редактирования данных «Значение» в диалоговом окне «Редактировать строку» введите полный путь к местоположению, которое вы хотите добавить на панель меток, и нажмите «ОК».
Вы также можете определить целевую папку, используя числовое значение для системных папок. Ниже приведена таблица с числовыми значениями для разных системных папок. Чтобы определить целевую папку, используя числовое значение, создайте новое DWORD (32-разрядное) значение так же, как вы создали строковое значение.
Дважды щелкните новое значение DWORD.
Введите числовое значение в поле ввода «Значение». Используйте значения из таблицы под изображением.
Следующие значения «DWORD» можно использовать для добавления стандартных папок на панель меток.
00 — Рабочий стол
01 — Internet Explorer
02 — Пуск Меню \ Программы
03 — Мой компьютер \ Панель управления
04 — Мой компьютер \ Принтеры
05 — Мои документы
06 — Избранное
07 — Меню Пуск \ Программы \ Автозагрузка
08 — \ Недавние
09 — \ SendTo
0a — \ Корзина
0b — \ Пуск Меню
0c — — логическая иконка «Мои документы» на рабочем столе
0d — Моя музыка
0e — Мои видео
10 — \ Рабочий стол
11 — Мой компьютер
12 — Моя сеть
13 — \ NetHood
14 — ОКНА \ Шрифты
15 — Шаблоны
16 — Все пользователи \ Пуск Меню
17 — Все пользователи \ Программы
18 — Все пользователи \ Пуск Меню
19 — Все пользователи \ Рабочий стол
1a — \ Application Data
1b — \ PrintHood
1с — \ Локальные настройки \ Данные приложения1d — — Нелокальный запуск
1e — — Нелокализованный общий запуск
1f — Избранное
20 — Временные интернет-файлы
21 — Печенье
22 — История
23 — Все пользователи \ Данные приложения
24 — каталог WINDOWS
25 — каталог System32
26 — Программные файлы
27 — Мои Фотографии
28 — ПОЛЬЗОВАТЕЛЬСКИЙ ПРОФИЛЬ
29 — x86 системный каталог на RISC
2a — — x86 C: \ Program Files в RISC
2b — C: \ Program Files \ Common
2c — — Программные файлы x86 \ Common на RISC
2d — Все пользователи \ Шаблоны
2e — Все пользователи \ Документы
2f — Все пользователи \ Пуск, Меню \ Программы \ Администрирование
30 — — \ Пуск Меню \ Программы \ Администрирование
31 — Сеть и удаленный доступ
35 — Все пользователи \ Моя музыка
36 — Все пользователи \ Мои рисунки
37 — Все пользователи \ Мое видео
38 — Справочник ресурсов
39 — Каталог локализованных ресурсов
3a — Ссылки на всех пользователей OEM-приложений
3b — ПОЛЬЗОВАТЕЛЬСКИЙ ПРОФИЛЬ \ Локальные настройки \ Данные приложения \ Microsoft \ Запись CDВыберите «Выход» в меню «Файл», чтобы закрыть редактор реестра.
Панель мест в диалоговом окне Сохранить отображает пользовательские папки и выбранные системные папки.
Использование PlacesBar Editor
Для тех из вас, кому неудобно вносить изменения в реестр или кто хочет просто упростить настройку панели мест, есть бесплатный инструмент под названием PlacesBar Editor. Загрузите инструмент, используя ссылку в конце этой статьи, и следуйте инструкциям по его установке. Если во время установки отображается диалоговое окно «Контроль учетных записей», нажмите «Да», чтобы продолжить.
ПРИМЕЧАНИЕ. Вы можете не видеть диалоговое окно «Контроль учетных записей» в зависимости от настроек контроля учетных записей .
Используйте ярлык, созданный на рабочем столе, для запуска PlacesBar Editor. Вы можете снова увидеть диалоговое окно Контроль учетных записей.
При первом запуске редактора PlacesBar отображается следующее диалоговое окно, в котором предлагается сделать пожертвование. Ваш веб-браузер по умолчанию также открывается на страницу PayPal, предлагая пожертвование.
Как уже упоминалось в начале этой статьи, некоторые программы используют диалоговое окно «Открытие и сохранение файлов», аналогичное проводнику Windows. Программы Microsoft Office (и некоторые другие программы Microsoft, такие как Notepad и Paint) используют этот стиль диалогового окна.
Вы также можете использовать PlacesBar Editor для настройки диалоговых окон Microsoft Office. Нажмите вкладку Office. Для каждой пользовательской папки, которую вы хотите добавить, введите имя для папки в поле редактирования в поле «Имя папки». Используйте кнопку папки, чтобы выбрать нужную папку, или введите полный путь к нужной папке в поле редактирования в разделе «Папки пользователя». Вы можете добавить до пяти дополнительных пользовательских папок. Эти папки добавляются в избранное, а также отображаются как избранное в проводнике Windows.
Чтобы применить изменения для каждой вкладки, вы должны нажать Сохранить, когда эта вкладка активна. Чтобы применить изменения для программ Office, убедитесь, что вкладка Office активна, и нажмите «Сохранить». Чтобы сохранить изменения, сделанные на вкладке Windows, необходимо щелкнуть вкладку Windows и снова нажать кнопку «Сохранить».
Появится диалоговое окно, сообщающее, что изменения были сделаны успешно.
После того, как вы применили или сохранили свои изменения на вкладке, вы можете протестировать эти изменения, нажав кнопку Тест.
Вы можете вернуться к настройкам по умолчанию для обоих типов диалоговых окон Открыть файл и Сохранить файл, нажав кнопку По умолчанию. Вы должны нажать кнопку «По умолчанию» для каждой вкладки отдельно.
Откроется диалоговое окно подтверждения. Нажмите Да, если вы уверены, что хотите вернуться к настройкам по умолчанию.
Чтобы закрыть PlacesBar Editor, нажмите Exit.
Настройка диалоговых окон «Открыть файл» и «Сохранить файл» с помощью пользовательских папок может повысить производительность, особенно если используемые вами папки чаще всего находятся в нескольких слоях в структуре папок.
Читайте также: