В приложениях часто приходится выполнять стандартные действия: открывать и сохранять файлы, задавать атрибуты шрифтов, выбирать цвета палитры, производить контекстный поиск и замену и т.п.
Разработчики Delphi позаботились о том, чтобы включить в библиотеку простые
для использования компоненты, реализующие соответствующие диалоговые окна. Они
размещены на странице Dialogs
. В таблице 8.1 приведен перечень этих
диалогов. Таблица 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 <операторы, использующие выбор пользователя>;