<<
>>

Лекция 4.4. Стандартные окна диалога

Delphi позволяет использовать стандартные окна диалога Windows, такие как окна диалога для открытия и сохранения файлов, печати документов, изменения параметров шрифта и т.д. Стандартные окна диалога расположены па вкладке Dialogs палитры компонентов.

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

Все стандартные окна диалога Delphi вызываются общим методом:

function Execute: Boolean

метод возвращает true если пользователь утвердительно ответил, например, нажал кнопку «ОК» в окне диалога, т.е. выбор состоялся или false в случае нажатия кнопки «Cancel». В связи с вышесказанным окна диалога обрабатываются стандартной конструкцией:

if ХХХDialog1.Execute then

begin

// обработка данных окна диалога

end;

Окна диалога выбора файлов

Операции по открытию и сохранению файлов используются многими программами, для этих целей разработаны четыре класса:

· TOpenDialog – окно диалога открытия файла;

· TSaveDialog – окно диалога сохранения файла;

· TOpenPictureDialog – окно диалога открытия графического файла;

· TSavePictureDialog – окно диалога сохранения графического файла.

Заметим, что все эти окна диалога обеспечивают только выбор файлов, задача по работе с выбранными файлами решается программистом.

Окна диалога для выбора файлов имеют много общего, рассмотрим их основные свойства:

· DefaultExt: String - расширение, добавляемое к имени выбранного файла, 3 символа без точки.

· FileEditStyle: TFileEditStyle = (fsEdit, fsComboBox) – вид окна диалога выбора файла. Оставлено для совместимости с ранними версиями Delphi;

· FileName: FileName – имя последнего выделенного файла в окне диалога;

· Files: TStrings – список файлов, выбранных в окне диалога;

· Filter: String – задает фильтры для выбора файлов в окне диалога;

· FilterIndex: Integer – фильтр для выбора файлов, задаваемый по умолчанию;

· HistoryList: TStrings - список ранее выбранных файлов;

· InitialDir: String – каталог, к которому при открытии обращается окно выбора файла;

· Title: String - заголовок окна диалога;

· Options: TOpenOptions - параметры окна диалога

При работе с окнами диалога обычно используется всего один метод, который осуществляет вызов окна диалога во время выполнения программы:

Окна диалога для работы с файлами могут реагировать на ряд событий:

· OnClose — вызывается при закрытии окна диалога;

· OnFolderChange — вызывается при смене каталога;

· OnSelectionChange — вызывается при изменении списка выделенных файлов;

· OnTypeChange — вызывается при изменении фильтра;

· OnCloseQuery — вызывается при закрытии диалога и используется для проверки имени выбранного файла;

· OnShow — вызывается при открытии окна диалога.

Фильтры позволяют отображать файлы определенных типов. Определяющая фильтр строка состоит из двух частей, разделяемых вертикальной чертой: названия фильтра и шаблона для имени файла. Например, строка, задающая фильтр для отбора исполняемых файлов, может выглядеть следующим образом:

OpenDialog1.Filter:= ‘Программы|*.ехе;*.com’;

или для нескольких шаблонов:

OpenDialog1.Filter:= ‘Программы|*.ехе;*.com|Динамические библиотеки|*.dll‘;

Проще всего задавать фильтры в специальном редакторе Filter Editor, окно которого открывается при двойном щелчке в поле значения свойства Filter в окне инспектора объектов.

Окно диалога для установки и настройки шрифтов

Для установки шрифтов и изменения их параметров используется компонент класса TFontDialog. Основные свойства класса:

· Device: TFontDialogDevice = (fdScreen, fdPrinter, fdBoth) – определяет устройство-источник шрифтов;

· Font: TFont – параметры шрифта заданные в окне диалога;

· MaxFontSize: Integer – максимальный доступный в окне диалога размер шрифта;

· MinFontSize: Integer – минимальный доступный в окне диалога размер шрифта;

· Options: TFontDialogOptions - параметры окна диалога.

Окно диалога для установки и настройки шрифтов может обрабатывать только три события:

· OnApply – вызывается при щелчке на кнопке Apply;

· OnClose – вызывается при закрытии окна диалога;

· OnShow – вызывается при открытии окна диалога.

Окно диалога для выбора цвета

Выбор цвета обеспечивается компонентом класса TColorDialog. Основные свойства класса:

· Color: TColor – выбранный в окне диалога цвет;

· CustomColors: TStrings – дополнительные цвета в шестнадцатеричном коде в формате RGB. Каждый цвет определяется строкой вида ColorA = ff0000 (ColorB = 00ff00 и т. д.)

· Options: TColorDialogOptions – параметры окна диалога;

Окно диалога для выбора цвета позволяет обрабатывать только два события: OnShow и OnClose.

Окна диалога для работы с принтером

Для настройки принтера и задания параметров печати используются соответственно классы TPrinterSetupDialog и TPrintDialog.

Состав элементов управления окна настройки принтера определяется установленным драйвером принтера и может быть различным, поэтому здесь рассматриваться не будет.

Рассмотрим основные свойства окна диалога задания параметров печати класса TPrintDialog:

· Collate: Boolean – состояние флажка «Разобрать по копиям»;

· Copies: Integer – количество копий, заданное в окне диалога

· FromPage: Integer – номер страницы, с которой начнется печать документа;

· ToPage: Integer – номер последней печатаемой страницы;

· MaxPage: Integer – максимальный номер страницы, который можно задать в окне диалога;

· MinPage:Integer – минимальный номер страницы, который можно задать в окне диалога;

· Options: TprintDialogOptions – параметры окна диалога

· PrintRange: TPrintRange – определяет диапазон печатаемых страниц:

ü prAIIPages – весь документ;

ü prSelection – выделенный фрагмент;

ü prPageNurns – страницы с указанными номерами;

· PrintToFile: Boolean – состояние флажка «Печать в файл»;

Окно диалога печати позволяет обрабатывать только два события: OnShow и OnClose.

Рассмотрим использование окон диалога на примере создания упрощенного блокнота, который наряду с редактированием текста будет позволять открытие, сохранение файла, выбор шрифта и цвета фона:

1. Создайте главную форму приложения.

2. Разместите на форме многострочный редактор (класс TMemo), панель (класс TPanel) и на панели четыре кнопки (класс TButton).

3. Разместите на форме четыре компонента окон диалога классов TOpenDialog, TSaveDialog, TFontDialog, TColorDialog.

4. Удалите у панели значение свойства Caption и присвойте свойству Align значение alBottom.

5. Присвойте свойству Align компонента Memo1 значение alClient, а свойству ScrollBars значение ssBoth.

6. Настройте фильтры окон диалога выбора файлов следующим образом:

ü Текстовые файлы - *.txt

ü Все файлы - *.*

7. Присвоим надписи кнопкам:

ü Button1.Caption – Открыть;

ü Button2.Caption – Сохранить;

ü Button3.Caption – Шрифт;

ü Button4.Caption – Фон;

8.

Создайте обработчик события OnClick кнопки «Открыть» и впишем туда следующий код:

if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

9. Создайте обработчик события OnClick кнопки «Сохранить» и впишем туда следующий код:

if SaveDialog1.Execute then

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

10. Создайте обработчик события OnClick кнопки «Шрифт» и впишем туда следующий код:

if FontDialog1.Execute then Memo1.Font:= FontDialog1.Font;

11. Создайте обработчик события OnClick кнопки «Фон» и впишем туда следующий код:

if ColorDialog1.Execute then Memo1.Color:= ColorDialog1.Color;

12. Выполните компиляцию и тестирование программы.

Рисунок – 4.4.1. Приложение, использующее окна диалога

Вопросы для самоконтроля

1. Какие стандартные окна диалога вы знаете и в чем их назначение?

2. Какой одноименный метод позволяет активировать окна диалога?

3. Какие общие свойства окон диалога вызнаете?

4. Выделите наиболее важные, на ваш взгляд, свойства окон диалога.

5. Как программно можно определить фильтр в окнах диалога выбора файлов?

6. Какие общие события имеют окна диалога и в чем их назначение?

<< | >>
Источник: РазработкА и эксплуатациЯ автоматизированных информационных систем. ЛЕКЦИИ.

Еще по теме Лекция 4.4. Стандартные окна диалога:

  1. Рассказы-пластинки
  2. Вводные замечания
  3. Из рассказов З.С.Паперного
  4. ЧАСТЬ III
  5. РЕЧЕВОЙ мир семьи