
Компоненты страницы Dialogs
В состав Windows входит ряд типовых диалоговых окон, таких как окно выбора загружаемого файла, окно выбора шрифта, окно для настройки принтера и т.д. В Delphi реализованы классы, объекты которых дают программисту удобные способы создания и использования таких окон.
Работа со стандартными диалоговыми окнами осуществляется в три этапа:
Вначале на форму помещается соответствующий компонент и осуществляется настройка его свойств (следует заметить, что собственно компонент-диалог не виден в момент работы программы, видно лишь создаваемое им стандартное окно). Настройка свойств может проходить как на этапе конструирования, так и в ходе прогона программы. Как и для любых других компонентов, программист не должен заботиться о вызове конструктора и деструктора диалога - эти вызовы реализуются автоматически в момент старта и завершения программы.
На втором этапе осуществляется вызов стандартного для диалогов метода Execute, который создает и показывает на экране диалоговое окно. Вызов этого метода обычно располагается внутри обработчика какого-либо события. Окно диалога является модальным окном, поэтому сразу после обращения к Execute дальнейшее выполнение программы приостанавливается до тех пор, пока пользователь не закроет окно. Поскольку Execute - логическая функция, она возвращает в программу True, если результат диалога с пользователем был успешным.
Проанализировав результат Execute, программа может выполнять третий этап - использование введенных с помощью диалогового окна данных - имени файла, настроек принтера, выбранного шрифта и т.д.
TOpenDialog è TSaveDialog - диалоги открытия и сохранения файлов.
Эти компоненты имеют идентичные свойства и поэтому рассматриваются вместе.
Используемое свойство: FileName: String содержит маршрут поиска и выбранный файл при успешном завершении диалога. Программа может использовать это свойство для доступа к файлу с целью читать из него данные (TOpenDialog) или записывать в него (TSaveDialog). Пользователь может ввести произвольное имя и, следовательно, указать несуществующий файл. Для записи это не имеет значения, но при чтении отсутствие файла может привести к краху программы. Чтобы избежать этого, можно проверить существование файла глобальной функцией FileExists, или использовать механизм обработки исключительных ситуаций.
TFondDialog - диалог выбора шрифта.
Компонент TFondDialog создает и обслуживает стандартное окно выбора шрифта.
Используемое свойство:
Font: TFont содержит результат выбора шрифта.
TColorDialog - диалог выбора цвета.
Компонент создает и обслуживает стандартное диалоговое окно выбора цвета.
Используемое свойство:
Color : TColor содержит выбранный текст.
TFindDialog - диалог поиска.
Стандартное диалоговое окно компонента TFindDialog используется для поиска фрагмента текста.
Используемое свойство:
FindText: String - указывает образец для поиска.
Спецификой диалога является реализуемая им возможность просмотра найденного фрагмента и, при необходимости, продолжения поиска. С этой целью для компонента определено событие OnFind: TNotifyEvent, которое возникает всякий раз, когда пользователь нажимает кнопку «Найти далее».
TReplaceDialog - диалог поиска и замены.
Компонент TReplaceDialog создает и обслуживает окно поиска и замены текстового фрагмента. Класс TReplaceDialog является прямым потомком класса TFindDialog и наследует от него большинство свойств.
Используемое свойство:
ReplaceText: String содержит текст замены.
В компоненте определено событие OnReplace, которое возникает при нажатии кнопки «Заменить» или «Заменить все».