If SaveDialog1.Execute then
begin
FName := SaveDialog1.FileName;
Memo1.Lines.SaveToFile(FName);
end;
Первый из этих операторов присваивает свойству FileName компонента SaveDialog1 запомненное имя файла. Это имя по умолчанию будет предложено пользователю при открытии диалога Сохранить как.... Следующий оператор открывает диалог и, если пользователь выбрал в нем файл, запоминает новое имя файла и сохраняет в файле с этим именем текст компонента Memo1.
Мы рассмотрели диалоги открытия и сохранения файлов произвольного типа. Начиная с Delphi 3 в библиотеке имеются специализированные диалоги открытия и закрытия графических файлов: OpenPictureDialog и SavePictureDialog. Диалоговые окна, открываемые этими файлами. От окон, открываемых компонентами OpenDialog и SaveDialog, они отличаются удобной возможностью просматривать изображения в процессе выбора файла.
Свойства компонентов OpenPictureDialog и SavePictureDialog ничем не отличаются от свойств компонентов OpenDialog и SaveDialog. Единственное отличие — заданное значение по умолчанию свойства Filter в OpenPictureDialog и SavePictureDialog. В этих компонентах заданы следующие фильтры:
All (*.jpg; *.jpeg; *.bmp; *.ico; *.emf; *.wmf) |
*.jpg; *.jpeg; *.bmp; *.ico; *.emf; *.wmf |
JPEG Image File (*.jpg) |
*.jpg |
JPEG Image File (*.jpeg) |
*.jpeg |
Bitmaps (*.bmp) |
*.bmp |
Icons (*.ico) |
*.ico |
Enhanced Metafiles (*.emf) |
*.emf |
Metafiles (*.wmf) |
*.wmf |
В этих фильтрах перечислены все типы графических файлов, с которыми может работать диалог. Так что вам остается удалить, если хотите, фильтры тех файлов, с которыми вы не хотите работать, добавить, может быть, фильтр «Все файлы (*.*)» и перевести на русский язык названия типов.
Компонент FontDialog вызывает диалоговое окно выбора атрибутов шрифта. В нем пользователь может выбрать имя шрифта, его стиль (начертание), размер и другие атрибуты.
Основное свойство компонента — Font типа TFont, в котором вы можете задать при желании начальные установки атрибутов шрифта и в котором вы можете прочесть значения атрибутов, выбранные пользователем в процессе диалога.
Свойства MaxFontSize и MinFontSize устанавливают ограничения на максимальный и минимальный размеры шрифта. Если значения этих свойств равны 0 (по умолчанию), то никакие ограничения на размер не накладываются. Если же значения свойств заданы (обычно это целесообразно делать исходя из размеров компонента приложения, для которого выбирается шрифт), то в списке Размер диалогового окна появляются только размеры, укладывающиеся в заданный диапазон. При попытке пользователя задать недопустимый размер ему будет выдано предупреждение вида «Размер должен лежать в интервале ...» и выбор пользователя отменится. Свойства MaxFontSize и MinFontSize действуют только при включенной опции fdLimitSize (см. ниже).
Свойство Device определяет, из какого списка возможных шрифтов будет предложен выбор в диалоговом окне: fdScreen — из списка экрана (по умолчанию), fdPrinter — из списка принтера, fdBoth — из обоих.
Свойство Options содержит множество опций:
fdAnsiOnly |
Отображать только множество шрифтов символов Windows, не отображать шрифтов со специальными символами |
fdApplyButton |
Отображать в диалоге кнопку Применить независимо от того, предусмотрен ли обработчик события OnApply |
fdEffects |
Отображать в диалоге индикаторы специальных эффектов (подчеркивание и др.) и список Цвет |
fdFixedPitchOnly |
Отображать только шрифты с постоянной шириной символов |
fdForceFontExist |
Позволять пользователю выбирать шрифты только из списка, запрещать ему вводить другие имена |
fdLimitSize |
Разрешить использовать свойства MaxFontSize и MinFontSize, ограничивающие размеры шрифта |
fdNoFaceSel |
Открывать диалоговое окно без предварительно установленного имени шрифта |
fdNoOEMFonts |
Удалять из списка шрифтов шрифты OEM |
fdScalableOnly |
Отображать только масштабируемые шрифты, удалять из списка не масштабируемые (шрифты bitmap) |
fdNoSimulations |
Отображать только шрифты и их начертания, напрямую поддерживаемые файлами, не отображая шрифты, в которых жирный стиль и курсив синтезируется |
fdNoSizeSel |
Открывать диалоговое окно без предварительно установленного размера шрифта |
fdNoStyleSel |
Открывать диалоговое окно без предварительно установленного начертания шрифта |
fdNoVectorFonts |
Удалять из списка векторные шрифты (типа Roman или Script для Windows 1.0) |
fdShowHelp |
Отображать в диалоговом окне кнопку Справка |
fdTrueTypeOnly |
Предлагать в списке только шрифты TrueType |
fdWysiwyg |
Предлагать в списке только шрифты, доступные и для экрана, и для принтера, удаляя из него аппаратно зависимые шрифты |
По умолчанию все эти опции, кроме fdEffects, отключены.
Если установить опцию fdApplyButton, то при нажатии пользователем кнопки. Применить возникает событие OnApply, в обработчике которого вы можете написать код, который применит выбранные пользователем атрибуты, не закрывая диалогового окна.
Приведем примеры применения компонента FontDialog. Пусть ваше приложение включает окно редактирования Memo1, шрифт в котором пользователь может выбирать командой меню Шрифт. Вы ввели в приложение компонент FontDialog, имя которого по умолчанию FontDialog1. Тогда обработчик команды Шрифт может иметь вид: