Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2 семестр.doc
Скачиваний:
42
Добавлен:
27.05.2015
Размер:
777.73 Кб
Скачать

If OpenDialog1.Execute then // при отмене диалога открытие файла не происходит

Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

end;

Пример сохранения графического образа в файл:

На форме Form1 расположено меню с двумя пунктами Save и SaveAs, компонент

SaveDialog и компонент Image1 для хранения графического образа. Если вызывается пункт Save, то проверяется, был ли уже создан файл для данного графического образа. Если был создан, то образ сохраняется. Если файл не был создан, вызывается метод SaveAs, который открывает окно SaveDialog1 и запрашивает имя файла для графического образа, после этого управление передается методу Save.

var Form1: TForm1;

CurrentFile:String;

implementation

{$R *.DFM}

procedure TForm1.Save1Click (Sender: TObject);

begin

if CurrentFile <> ' ' then Image1.Picture.SaveToFile(CurrentFile) { файл уже существует }

else SaveAs1Click(Sender);{ иначе нужно ввести имя файла }

end;

ргосеdurе ТFоrm1.SaveAs1Click(Sender: TObject);

begin

If SaveDialog1.Execute then { Получить имя файла }

begin

СurrentFile := SaveDialog1.FileName;

{ сохранить файл с именем, заданным пользователем }

Save1Click(Sender); { вызов метода сохранения файла }

end;

еnd;

Компоненты OpenPictureDialog и SavePictureDialog вызывают стандартные диалоги открытия и сохранения графических файлов. Эти стандартные диалоги отличаются от OpenDialog и SaveDialog видом окон и установленными значениями свойства Filter.

Свойства компонентов OpenPictureDialog и SavePictureDialog ничем не отличаются от свойств компонентов OpenDialog и SaveDialog. Единственное отличие — заданное значение по умолчанию свойства Filter в OpenPictureDialog и SavePictureDialog. В этих компонентах заданы следующие фильтры:

*.jpg; *.jpeg; *.bmp; *.ico; *.emf; *.wmf

В этих фильтрах перечислены все типы графических файлов, с которыми может работать диалог. Так что вам остается удалить, если хотите, фильтры тех файлов, с которыми вы не хотите работать, добавить, может быть, фильтр «Все файлы (*.*)» и перевести на русский язык названия типов.

Пусть ваше приложение включает окно редактирования Memo1, шрифт в котором пользователь может выбирать командой меню Шрифт.

Вы ввели в приложение компонент FontDialog, имя которого по умолчанию FontDialog1.

Обработчик команды Шрифт может иметь вид:

if FontDialog1.Execute then Memo1.Font.Assign(FontDialog1.Font);

Приведенный оператор вызывает диалог выбора атрибутов шрифта и, если пользователь произвел выбор, то значения всех выбранных атрибутов, содержащиеся в свойстве FontDialog1.Font, присваиваются атрибутам окна редактирования, содержащимся в свойстве Memo1.Font.

Шрифт в окне редактирования немедленно изменится.

Если вы установите в компоненте FontDialog1 опцию fdApplyButton, то можете написать обработчик события OnApply:

Memo1.Font.Assign(FontDialog1.Font);

Тогда пользователь может наблюдать изменения в окне Memo1, нажимая в диалоговом окне кнопку Применить и не прерывая диалога.

Если в качестве окна редактирования в вашем приложении вы используете RichEdit, то можно выбирать атрибуты шрифта для выделенного фрагмента текста или для вновь вводимого текста. Тогда выполнение команды меню Шрифт может осуществляться операторами:

if FontDialog1.Execute then RichEdit1.SelAttributes.Assign(FontDialog1.Font);

Вы можете разрешить пользователю изменять шрифт не только отдельных компонентов, но и всех компонентов и надписей на форме.

if FontDialog1.Execute then Font.Assign(FontDialog1.Font);

В этом операторе свойство Font без ссылки на компонент подразумевает шрифт формы.

Компонент ColorDialog вызывает диалоговое окно выбора цвета.

В нем пользователь может выбрать цвет из базовой палитры или, нажав кнопку Определить цвет, раскрыть дополнительную панель, позволяющую синтезировать цвет, отличный от базовых. Синтезированный цвет можно добавить кнопкой Добавить в набор в палитру дополнительных цветов на левой панели и использовать его в дальнейшем.

Основное свойство компонента ColorDialog — Color.

Это свойство соответствует тому цвету, который выбрал пользователь.

Каждый цвет определяется строкой вида

<Имя цвета>=<шестнадцатиричное представление цвета>;

Имена цветов задаются от ColorA (первый цвет) до ColorP (шестнадцатый, последний).

Например, строка ColorA=808022 задает первый заказной цвет.

Если вы хотите, чтобы пользователь мог задать цвет какого-то объекта, например, цвет фона компонента Memo1, то это можно реализовать оператором

if ColorDialog1.Execute then

Memo1.Color := ColorDialog1.Color;