Визуальное программирование-лекция-4
.docЛекция № 4 DELPHI (конспекты лекций)
Стандартные диалоговые окна Windows
-
Панель Dialogs
На панели Dialogs расположен ряд невизуальных компонентов, позволяющих использовать в программе стандартные диалоговые окна Windows. Эти компоненты являются наследниками класса TCommonDialog. Самый важный метод этого класса – функция
Function Execute: Boolean;
Она выполняет открытие соответствующего окна и возвращает значение True, если пользователь щелкнул на кнопке Ok. Когда диалоговое окно открывается первый раз, происходит событие OnShow, а при закрытии окна – событие OnClose.
-
Компонент окно выбора файла (TOpenDialog)
Компонент предназначен для выбора файла с целью последующего открытия.
Свойство |
Назначение |
DefaultExt |
Расширение имени, используемое по умолчанию. Добавляется в конец выбранного пользователем имени файла, если расширение не указано явно. |
FileName |
Выбранное пользователем имя файла вместе с полным путем поиска. |
Files |
Список выбранных имен файлов. В свойстве Options должен быть включен флажок ofAllowMultiSelect. |
Filter |
Набор масок, в соответствии с которыми отбираются имена файлов для отображения в диалоговом окне. Каждая маска состоит из двух частей: названия и шаблона, разделенных символом |. Одному названию могут соответствовать несколько шаблонов. Маски отделяются друг от друга символом |. |
FilterIndex |
Номер текущей маски. Нумерация начинается с 1. |
HistoryList |
Ранее выбранных файлов (тип TStrings) |
InitialDir |
Текущий каталог, содержимое которого отображается при первом открытии диалогового окна. |
Options |
Набор флажков, определяющих работу окна выбора файлов. |
Title |
Заголовок диалогового окна. |
События класса TOpenDialog.
Событие |
Условие генерации |
OnCanClose |
Пользователь пытается закрыть диалоговое окно. Обработчик этого события позволяет проконтролировать правильность выбранного или введенного в соответствующее поле окна имени файла и разрешить или запретить закрытие. |
OnFolderChange |
Пользователь переключился в другой каталог. |
OnIncludeItem |
К текущему списку файлов в диалоговом окне будет добавлено новое имя. Обработчик данного события дает возможность отбирать допустимые имена по алгоритму, определяемому программистом. |
OnSelectionChange |
Пользователь выбрал новое имя файла в диалоговом окне. |
OnTypeChange |
Пользователь выбрал новую маску файлов (свойство Filter). |
var
-------
F: TextFile;
-------
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Filter:='Все файлы (*.*) |*.*|Файлы Паскаля (*.pas) |*.pas';
OpenDialog1.Title:='Выбор нужного файла';
OpenDialog1.FilterIndex:=2;
IF opendialog1.Execute Then
begin
AssignFile(F,OpenDialog1.FileName);
// работа с файловой переменной F
end;
end;
Компонент Окно сохранения файла (TSaveDialog) почти не отличается от компонента TOpenDialog. Компоненты Окно открытия рисунка (TOpenPictureDialog) и Окно сохранения рисунка (TSavePictureDialog) являются, соответственно, наследниками классов TOpenDialog и TSaveDialog. Они содержат дополнительную область для быстрого просмотра графического файла.
Компонент Окно выбора шрифта (TFontDialog) имеет следующий набор свойств.
Свойство |
Назначение |
Device |
Устройство, для которого отображается список доступных шрифтов. Возможные значения – fdScreen (экран), fdPrinter (принтер), fdBoth (как экран, так и принтер). |
Font |
Выбранный шрифт. |
MaxFontSize |
Максимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов. |
MinFontSize |
Минимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов. |
Options |
Дополнительные характеристики внешнего вида диалогового окна. |
procedure TForm1.Button3Click(Sender: TObject);
begin
If FontDialog1.Execute then
label1.Font.Assign(FontDialog1.Font);
end;
Приведенная процедура позволит при щелчке на кнопке Button3 вызвать диалоговое окно для выбора характеристик шрифта для надписи Label1.
Компонент Окно выбора цвета (TСolorDialog).
Свойство Color (тип TColor) содержит выбранный пользователем цвет, а свойство CustomColors (тип TStrings) хранит в текстовом формате описание дополнительных пользовательских цветов. Цвет в этом формате задается шестью символами, определяющими в шестнадцатеричном виде значение цвета в соответствии с требованиями системы RGB (red, green, blue). Каждая строка имеет формат ColorX=NNNNNN, где X – буква от A до P, определяющая номер цвета, NNNNNN – номер цвета в формате RGB. Каждый байт задается двумя символами. Например, 28140A – 2816=40 (синий), 1416=20 (зеленый), 0A16=10 (Красный).
procedure TForm1.Button4Click(Sender: TObject);
begin
If ColorDialog1.Execute then
Begin
Form1.Color:= ColorDialog1.Color;
ListBox1.Items:=ColorDialog1.CustomColors;
End;
end;
При щелчке на кнопке Button4 происходит вызов Окна выбора цвета. Выбранный цвет будет использован для изменения цвета экранной формы.