Вкладка Dialogs (общие сведения)

   
На этом шаге мы рассмотрим общие принципы использования компонентов этой вкладки.

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


Рис.1. Палитра компонентов вкладки Dialogs

   
Дадим краткую характеристику компонентов, находящихся на этой вкладке:

Таблица 1. Основные компоненты

Компонент Описание
Компонент TOpenDialog - окно открытия файла
Компонент TSaveDialog - окно сохранения файла
Компонент TOpenPictureDialog - окно открытия изображения (графического файла)
Компонент TSavePictureDialog - окно сохранения изображения (графического файла)
Компонент TFontDialog - окно выбора шрифта
Компонент TColorDialog - окно выбора цвета
Компонент TPrintDialog - окно настройки параметров печати
Компонент TPrinterSetupDialog - окно настройки параметров принтера
Компонент TFindDialog - окно поиска фрагмента текста
Компонент TReplaceDialog - окно замены фрагмента текста
Компонент TPageSetupDialog - окно установки параметров печатаемой страницы

   
Работа со стандартными диалоговыми окнами осуществляется в три этапа.

   
Вначале на форму помещается соответствующий компонент и осуществляется настройка его свойств (следует заметить, что собственно компонент
не виден в момент работы программы, видно лишь создаваемое им стандартное окно). Настройка свойств может проходить как на этапе конструирования,
так и в ходе прогона программы. Как и для любых других компонентов, программист не должен заботиться о вызове конструктора и
деструктора класса диалогового окна - эти вызовы реализуются автоматически в момент старта и завершения программы.

   
На втором этапе осуществляется вызов стандартного для классов диалоговых окон метода Execute, который создает и
показывает на экране диалоговое окно. Вызов этого метода обычно располагается внутри обработчика какого-либо события. Например, обработчик
выбора в меню команды Открыть файл может вызвать метод Execute компонента TOpenDialog, обработчик
щелчка на кнопке Сохранить панели инструментов может вызвать такой же метод компонента TSaveDialog и т. д.
Только после обращения к методу Execute на экране появляется соответствующее диалоговое окно. Это окно является модальным,
поэтому сразу после обращения к методу Execute дальнейшее выполнение программы приостанавливается до тех пор, пока пользователь не закроет окно.
Поскольку Execute - логическая функция, она возвращает в программу значение True, если результат диалога с пользователем был успешным.

   
Проанализировав результат вызова метода Execute, программа может выполнить третий этап - использовать введенные с помощью диалогового окна
данные - имя файла, параметры принтера, выбранный шрифт и т. д.

   
Проиллюстрируем сказанное следующим примером. Создадим простую программу для просмотра содержимого текстового файла. Для этого на пустую форму
поместите компонент TOpenDialog, а также кнопку TButton и многострочное поле TMemo.


Рис.2. Внешний вид проекта

   
При работе программы щелчок на кнопке будет сигналом о необходимости загрузить в поле новый файл. Создайте представленный ниже обработчик события
OnClick этой кнопки:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Настраиваем компонент на отбор текстовых файлов:
  OpenDialog1.Filter := 'Текстовые файлы|*.txt|' +
              'Файлы Паскаля|*.pas';
  // Выполняем диалог и анализируем его результат
  if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then
    // Результат успешный - пользователь выбрал файл.
    // Загружаем файл в поле Memol:
    Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

Текст этого примера можно взять здесь.

   
Внешний вид работающего приложения приведен на рисунках 3 и 4.


Рис.3. Окно выбора файла


Рис.4. Содержимое выбранного файла помещено в компонент TMemo

   
На следующем шаге мы рассмотрим компоненты TOpenDialog и TSaveDialog.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий