Как я могу показать только определенные расширения файлов в диалоге открытого файла?
Когда я открываю папку с помощью OpenDialog, как я могу отфильтровать ее, чтобы пользователи могли просматривать только определенные файлы (например, Stringgrid, *.sg), а файлы с любым другим расширением не отображаются в диалоговом окне?
2 ответа
Установить OpenDialog.Filter
свойство фильтра файла, который вы хотите.
Вы можете сделать это в Инспекторе объектов:
- Нажмите в
Filter
свойства, и вы увидите маленькую кнопку с правой стороны...
, - Нажмите на это, и вы увидите диалоговое окно.
С левой стороны находится описание файла (например, Excel files (*.xls)
). Правая сторона - это фильтр, который вы хотите использовать, как в *.xls
,
Вы также можете установить его в коде перед отображением вашего диалога:
OpenDialog1.Filter := 'Excel files (*.xls)|*.xls';
Конечно, замените материал Excel любым описанием и маской, которую вы хотите использовать.
Filter
а также FilterIndex
свойства используются, чтобы указать, какие расширения файлов следует отображать (обратите внимание, что пользователь может переопределить фильтр вручную, хотя).
OnIncludeItem
Событие используется для выборочного разрешения / запрета отдельных файлов / папок в списке в диалоге.