§ 5. Создание приложений

5.2. Стандартные диалоги

Практически любое приложение Windows использует стандартные диалоги, встроенные в операционную систему, для открытия и сохранения файлов, выбора атрибутов шрифта или установки цвета, поиска текста, печати. В библиотеку VCL включены компоненты, реализующие соответствующие окна Windows. Они размещены на панели Dialogs (пример 5.2). В примере 5.3 приведен перечень компонентов для реализации стандартных диалогов Windows.

Объекты, представленные на странице Dialogs, невидимы во время выполнения, поэтому место их размещения на форме не имеет значения (пример 5.4). Внешний вид окна диалога зависит от версии Windows.

Вызов и обработка диалогов происходит программно. Для всех диалогов определен метод Execute: Boolean (пример 5.5). С помощью этого метода происходит открытие окна соответствующего диалога. Значение True присваивается функции Execute в случае, если пользователь щелкнул по кнопке Ok (выполнил двойной щелчок по имени файла или нажал клавишу Enter). В свойствах компонента-диалога запоминается выбор пользователя, который затем можно обработать. Если в диалоге была нажата кнопка отмена или клавиша Esc, то функция получит значение False.

Диалоги для открытия и сохранения файлов (пример 5.6) используются в различных приложениях. Основное свойство компонентов OpenDialog и SaveDialog, в котором возвращается в виде строки имя файла, — это свойство FileName. Если задать данное свойство на этапе конструирования в окне инспектора объектов, то при открытии диалога оно будет появляться в строке Имя файла.

Для вызова стандартного окна установки атрибутов шрифта можно использовать компонент FontDialog (пример 5.7). В окне Шрифт пользователь может выбрать имя шрифта, его стиль, размер, цвет. Основное свойство компонента — Font типа TFont. Метод, который позволит присвоить значения всех выбранных атрибутов шрифта, шрифту компонента — метод Assign.

Для вызова стандартного окна установки цвета используется компонент ColorDialog (пример 5.8). В нем можно выбрать цвет из базовой палитры. Основное свойство компонента ColorDialog — Color. Это свойство соответствует тому цвету, который пользователь выбрал в диалоге.

Пример 5.2. Панель Dialogs.

Пример 5.3. Список некоторых стандартных диалогов.

Компонент

Назначение

Создание окна диалога «Открыть файл»

Создание окна диалога «Сохранить файл»

Создание окна диалога «Открыть рисунок»

Создание окна диалога «Сохранить рисунок»

Создание окна диалога «Шрифт» — выбор атрибутов шрифта

Создание окна диалога «Цвет» — выбор цвета

Создание окна диалога «Печать»

Пример 5.4. Диалоговые компоненты и кнопки для их вызова на форме:

Пример 5.5. Стандартное обращение к диалогу:

if <имя компонента-диалога>.Execute then

<команды, использующие выбор пользователя>

Пример 5.6. Стандартные диалоги для открытия и сохранения файла:

Пример 5.7. Стандартный диалог для настроек шрифта:

Пример 5.8. Стандартный диалог для выбора цвета: