В приложениях часто приходится выполнять стандартные действия: открывать и сохранять файлы, задавать атрибуты шрифтов, выбирать цвета палитры, производить контекстный поиск и замену и т.п.
Разработчики Delphi позаботились о том, чтобы включить в библиотеку простые для использования компоненты, реализующие соответствующие диалоговые окна. Они размещены на странице Dialogs. В таблице 8.1 приведен перечень этих диалогов.
Пикто- грамма | Компонент | Страница | Описание |
OpenDialog «Открыть файл» | Dialogs | Предназначен для создания окна диалога «Открыть файл». | |
SaveDialog «Сохранить файл» | Dialogs | Предназначен для создания окна диалога «Сохранить файл как». | |
OpenPictureDialog «Открыть рисунок» | Dialogs | Предназначен для создания окна диалога «Открыть рисунок», открывающего графический файл. Начиная с Delphi 3. | |
SavePictureDialog «Сохранить рисунок» | Dialogs | Предназначен для создания окна диалога «Сохранить рисунок» — сохранение изображения в графическом файле. Начиная с Delphi 3. | |
FontDialog «Шрифты» | Dialogs | Предназначен для создания окна диалога «Шрифты» — выбор атрибутов шрифта. | |
ColorDialog «Цвет» | Dialogs | Предназначен для создания окна диалога «Цвет» — выбор цвета. | |
PrintDialog «Печать» | Dialogs | Предназначен для создания окна диалога «Печать». | |
PrinterSetupDialog «Установка принтера» | Dialogs | Предназначен для создания окна диалога «Установка принтера». | |
FindDialog «Найти» | Dialogs | Предназначен для создания окна диалога «Найти» — контекстный поиск в тексте. | |
ReplaceDialog «Заменить» | Dialogs | Предназначен для создания окна диалога «Заменить» — контекстная замена фрагментов текста. | |
FileListBox (список файлов) | Win3.1 | Отображает список всех файлов каталога. | |
DirectoryListBox (структура каталогов) | Win3.1 | Отображает структуру каталогов диска. | |
DriveComboBox (список дисков) | Win3.1 | Выпадающий список доступных дисков. | |
FilterComboBox (список фильтров) | Win3.1 | Выпадающий список фильтров для поиска файлов. | |
DirectoryOutline (дерево каталогов) | Samples | Пример компонента, используемого для отображения структуры каталогов выбранного диска. |
Последние четыре компонента в таблице 8.1 являются не законченными диалогами, а их фрагментами, позволяющими строить свои собственные диалоговые окна.
Все диалоги являются невизуальными компонентами, так что место их размещения на форме не имеет значения. При обращении к этим компонентам вызываются стандартные диалоги, вид которых зависит от версии Windows и настройки системы. Так что при запуске одного и того же приложения на компьютерах с разными системами диалоги будут выглядеть по-разному. Например, при русифицированной версии Windows все их надписи будут русскими, а при англоязычной версии надписи будут на английском языке.
Основной метод, которым производится обращение к любому диалогу, — Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента-диалога запоминается выбор пользователя, который можно прочитать и использовать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку Отмена или клавишу Esc, то функция Execute возвращает false. Поэтому стандартное обращение к диалогу имеет вид: if <имя компонента-диалога>.Execute then <операторы, использующие выбор пользователя>;