На панели Диалоги (Dialogs) расположен ряд невизуальных компонентов, позволяющих использовать в программе стандартны диалоговые окна Windows, например окна выбора и сохранения файлов или изображений, окна выбора цвета и шрифта, окно настройки принтера и другие.
Внимание!
Эти компоненты не предназначены для выполнения конкретных действий: загрузки файла, печати, изменения текущего шрифта и прочих. Они применяются только для получения от пользователя желаемых значений настроек, например ввода полного имени файла вместе с путем поиска, указания гарнитуры шрифта, задания числа печатаемых страниц.
Все эти компоненты являются наследниками класса TCommonDialog. Самый важный его метод – это функция
function Execute: Boolean;
Она выполняет открытие соответствующего окна и возвращает значение True, если пользователь щелкнул на кнопке ОК. Реальные поля ввода и заголовки определяются в конкретных компонентах. Когда диалоговое окно открывается в первый раз, возникает событие OnShow, а при закрытии окна - событие OnClose.
Компонент Окно выбора файла (TOpenDialog)
Компонент предназначен для выбора файла с целью последующего открытия. Свойства и события класса TOpenDialog приведены в таблице 27.2 и 27.3.
Таблица 27.2. Свойства класса TOpenDialog
Свойство
Назначение
DefaultExt
Расширение имени, используемое по умолчанию. Добавляется в конец выбранного пользователем имени файла, если расширение не указано явно
FileName
Выбранное пользователем имя файла с полным путем поиска
Files
Список выбранных имен файлов. В свойстве Options должен быть включен флажок ofAllowMultiSelect
Filter
Набор масок, в соответствии с которыми отбираются имена файлов для отображения в диалоговом окне. Каждая маска состоит из двух частей: названия и шаблона, - разделенных символом │. Одному названию могут соответствовать несколько шаблонов. Маски отделяются друг от друга символом │
FilterIndex
Номер текущей записи. Нумерация начинается с 1
HistoryList
Список ранее выбранных файлов (тип TString)
InitialDir
Текущий каталог, содержимое которого отображается при первом открытии диалогового окна
Options
Набор флажков, определяющих работу окна выбора файлов
Title
Заголовок диалогового окна
Среди методов этого класса следует отметить функцию
function GetStaticRect: Trect;
Оно возвращает координаты прямоугольной области диалогового окна (часть клиентской области), зарезервированной для нужд разработчика (например, для отображения содержимого текущего выбранного файла).
Таблица 27.3. События класса TOpenDialog
Событие
Условие генерации
OnCanClose
Пользователь пытается закрыть диалоговое окно. Обработчик этого события позволяет проконтролировать правильность выбранного или введенного в соответствующее поле окна имени файла и разрешить или запретит закрытие
OnFolderChange
Пользователь переключился в другой каталог
OnIncludeItem
К текущему списку файлов в диалоговом окне будет добавлено новое имя. Обработчик данного события дает возможность отбирать допустимые имена по алгоритму, определенному программистом
OnSelectionChange
Пользователь выбрал новое имя файла в диалоговом окне
OnTypeChange
Пользователь выбрал новую маску файлов (свойство Filter)
Компонент Окно сохранения файла (TSaveDialog)
Этот компонент практически ничем не отличается от компонента TOpenDialog за исключением некоторых настроек, специфичных для процесса сохранения файла.
Компоненты Окно открытия рисунка (TOpenPictureDialog) и Окно сохранения рисунка (TSavePictureDialog)
Эти компоненты являются, соответственно, наследниками класса TOpenDialog и класса TSaveDialog. Диалоговые окна содержат дополнительную область для быстрого просмотра содержимого выбранного графического файла.
Компонент Окно выбора шрифта (TFontDialog)
Компонент предназначен для вызова стандартного диалогового окна выбора шрифта, доступного в системе. В соответствии с полями этого окна компонент имеет набор свойств, которые приведены в таблице 27.4.
Таблица 27.4. Свойства класса TFontDialog
Свойство
Назначение
Device
Устройство, для которого отображается список дотупных шрифтов. Возможные значения – fdScreen (экран), fdPrinter (принтер), fdBoth (как экран, так и принтер)
Font
Выбранный пользователем шрифт (тип TFont)
MaxFontSize
Максимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов
MinFontSize
Минимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов
Options
Дополнительные характеристики внешнего вида диалогового окна
Компонент Окно выбора цвета (TColorDialog)
С помощью данного компонента вызывается стандартное диалоговое окно выбора цвета (рис.27.7).
Свойство Color (тип Color) содержит выбранный пользователем цвет, а свойство CustomColor (тип TString) хранит в текстовом формате описание дополнительных пользовательских цветов. Цвет в этом формате задается шестью символами, определяющими в шестнадцатеричном виде значение цвета в соответствии с требованием цветовой системы RGB. Каждый байт задается двумя символами, например FFFFFF или 08EE08. Имеется также свойство Options, присутствующее у всех подобных компонентов и позволяющее выполнять тонкие специфические настройки работы окна.
Компонент TPrinterSetupDialog, предназначен для настройки параметров работы принтера, не имеет оригинальных свойств, потому что эти настройки существенно различаются для разных видов принтеров. На основании этого компонента можно создавать свои собственные компоненты для конкретных принтеров.
Компонент TPrintDialog отображает стандартное окно печати Windows. В нем можно задать различные параметры печати, которые определяются следующими свойствами (табл.27.5).
Таблица 27.5. Свойства класса TPageSetupDialog
Свойство
Назначение
Collate
Флажок Разобрать по копиям
Copies
Число копий
FromPage
Номер страницы, с которой начнется печать
MaxPage
Максимальное число страниц, которое может быть напечатано
MinPage
Минимальное число страниц, которое может быть напечатано
Options
Дополнительные параметры настройки
PrintRange
Вид диапазона печатаемых страниц документа. Возможные значения: prAllPages (все страницы); prSelection (страницы выбранного фрагмента), prPageNums (страницы из диапазона FromPages/ToPage)
PrintToFile
Имеет значение True, если вывод должен осуществляться не на принтер, а в файл
ToPage
Номер страницы, на которой заканчивается печать
Компонент TPageSetupDialog позволяет настроить характеристики печатаемых страниц. Они задаются в свойствах MarginBottom, MarginLeft, MarginRight, MarginTop (нижняя, левая, правая, верхняя границы печати), PageHeight и PageWidth (высота и ширина страницы), а также в свойстве Options, описывающем дополнительные параметры. Единицы измерения размеров задаются в свойстве Units.
Компонент Поиск (TFindDialog)
Компонент используется для отображения диалогового окна поиска текстовой строки. Свойства класса TFindDialog приведены в таблице 27.6.
Таблица 27.6. Свойства класса TFindDialog
Свойство
Назначение
FindText
Строка для поиска
Options
Дополнительные настройки
Position
Координата левого верхнего угла диалогового окна при его выводе на экран (в пикселях)
Из методов этого класса следует отметить процедуру
procedure CloseDialog;
Эта процедура закрывает окно, но не меняет значений установленных свойств, чтобы в дальнейшем можно было выполнить поиск со старыми параметрами. При щелчке на кнопке Найти далее генерируется событие OnFind.
Компонент Поиск и замена (TReplaceDialog)
Данный компонент является наследником компонента TFindDialog. Он несколько расширяет его возможности и позволяет вводить строку для замены найденного текста. Компонент имеет новое свойство ReplaceText и соответствующее ему поле в диалоговом окне. При щелчке на кнопке Заменить или Заменить все генерируется сообщение OnReplace.
Задание
Разработка проекта Изменение цвета и размера фигуры